ML }  X c0C)HCCH Mhhݩh `eCDiCD`  RyHP   * 1H0芢@) Y0.Ș` i #(PMR\ \b Pgi 0  % @ / ՠ`d   0DDԝLyNN@  )?HI Y0`HIJH) * J j * hJJJ )HJ h i     } YS S0 i`΢ϣ߳H J3xj2h} 1 |9 ӭ45(420 * (0241өX.`  R *i)Lvw  ~*P}E 5 LN(G E  r s k rsrL ( E LO(0d( L iE0O +)$IC  H S8 }q p h   j 8no CDLQ CFl M  LO Ri)Llk2'")*F }$F$F$F$F$ 5 )ШF/Șl]kpqС,LQ/A! Ti)Zlk@ ܬ/i)(")")k }$F$F$F 5$/L /lF@jj(LNkle$$%8(k()` R 8 ELO Ri)^>jf | NrC s } ) vw5g   enfo Glvw LQ@iLm>j FL ~Jjjjii p qEh }jlrs`LQ:$ȱ$@+[_#{ 8  Խut! ai 8   E I   ] C } H h    ˰ 8  N   Lm E  ,  [ `LQ ,/ 8 ~/  Ơ? ѩ}/  [ /Lj0?MoLn FjMqLp NklLOLQnLoMlNLO R"(+}ըHH`Q R!!  % !   / .   FȑF! /GF \H"+0+* }! F tLQnm: J~nTF1F  *n+)5! n (, n)1JJJn(n*o} I ,0  ci a oF? @ , 8,0 ʩ0H Eh   i}  D ]DmmFLQvtu`*&!*@h ] 0 ^0` c 0l$$%}()()%*&J%H,@hH hH@,h $% 8i8$(%)0hhH ]h`() c 0H c 0 h}`hhh&JJ ](ll  LQ0  /qnoHH 9 9 H H  I9  9 } Nd EH  Q8 o n  FnoL HII/ Ih8`h`Lnon`no`u F }E VEhLO/luF l0BF/lɜɛ׽hE N  b VFL FREE SECTORS C} H) *Fh ):FȽ F FC IH' 0 d  i:Fȩ/F.l`CD/08HDIC}IHȰ/F`ȱ$>.+.i ȱ$:刄H !A \ Hȱ$*?ȝ 2. ? [_{ ,0}-:) 0$:>WI  IТ,LQH  0hLd ~ t u`C ?( 0(C.` E } R =! .ti S0N EE D XC )0')AY  )ע ? 0E088FG \o}n  (HhLcL3 iJ i Lqp 0=rspnqopqlk`jZj0  j FL`H}FhȑFȽlFi0 h FFLFpvqwgneofLF pq7  G0i 0 FJJh1FqȱFpȱFk`B!}08`hEE D 8. =D}tui( TʩL`b!)    cȌaȌd b`aab}H8 hdaHcd8 cH hHH  \h hc` =Hh I8ih( t  ( t(!` L\}CJfCJfCJfCDfC` a  HII  INdh  `h  `n)8jHniPoijIjFIjFIjh` a } I 38  8H0 I  ' H LQ8j Y  8j NdY  &I &I &IHeH.p!}Iiq  `!.莿 2Jjj }.m Ȉ!m FG` ɩLQ z "} e Hi04 \ Ȍ  8 i h !`I0 `C Y8.`DOS SYS#} I  ` ~ݩ.C/`ba.m۩mѤC9 `C L] H  ,- '0 l $}, BLVDE`D1:AUTORUN.SYS8hhJ ȱHȱIȱBȱDȱEeeHHLV)  %}1*  ,,p-  0 I &  '0   Lw)l, 0  I&LD1:MEM.SAV&}E:D1:DUP.SYSh6MS6Q6 cQc7 I5NzFAf^a_iOkQec'YxrTP4'} D  C D     )16CS S)  C)D1 p p (}0 C9DI pCDL~CiCDiD` DD˙` d J)L !)}D L(( LL()  L| L( S LH 0p n  *} CY?  q  L L  ` )+} `A! d߰")-݆ "  $G@LLL&0") $G%,}H0 3S8`G ȱG ȱG   Gȭ Gȭ GG}GHiH8(()) G$H% `(0-})8` d)L ݆ & LGȘ ݆LL d  ! LL d)N>Q  HH).}  hyhyB q L> Lm JJ  Ln*` dB%'/}8  H H` 1 { LL   !L     Hh SY?  q  1L0}  !? S   q 1 L   Ll  Lg E`L   !L)  q 1L1}) `L0AM݊L݉ ML  N݆LLLNLMLHG!@2}1F GȱGLLEEȩÑEȑEEȑE Ed E7EȩE  q3} L !,0,0SGɛ L 1 !L EHEh W G gLLSROTCES EERF 4} G) *Gȩ GȽG GȌd q q G`  8   0G  `D5}CEDC0X:Ȣ Y ȱC* ? 0.. , 0%n ?A[ 0 : L`L  `, 0`Y6}`piH n0)բY? 08`0 7}  0$L GGȽG L `8L`L8}8`  05G)݁,G)ȱGȱGHh0})Hh` B! 8`8iiiLE`9}E8FEh( l0`ɃLL L8^~jj8jHi hEEEiEȱEiE` dTE:} H8EEȱEEȩEh J E8   . m  i`LI!)E1FR;}1LJ舩9GIH`LJJ`HGHh l`<} S gL   8 rii `дCDCG W  =}C  Lq` X٨`DOS SYS IIIIIIIIIIIIIIIC`0 ߩ0}}>} HE |||DDOS DOSDOS SYS }?}}} @}CDOS SYSA} 0`BDELV !B B}`LVUQ   ]   TU J ]L!T  #      TU C} L ? .  t`GBJ V~DEHI B V0dVD}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEhE}DEL8HI   0 HI,0 0  9 .G VLOF},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D1:MEM.SAV J y08 B|DEHIG} V0 0`B;DELV䌚 !B y`@ʆ v s? F0Ξ05: [ BDEHIH} VY8 B V  @  /DE `E:D1:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO I}STILL RUN DOS B;DE J V (` 9 V⪍ ઍ  -J}LLu DEHILV 9 .l 9 .l  `` s$B VBHK}I|DE V BLV nB,DE J V* \*` B V BLVDEHI BLVLL}1u H232435; 1 ;  hh@2 e1i1LHҍ 00) 08 109hh@ Ҡ2eM}1i1232435ޥ<<8} h{A` +@%@ @,@@( @2/@)@< @O}F,@0@P @Z',@ @',@ @d',@@'/@!@n',@P}@ '/@!@ x(0@@@(MAKE RED*0@@@*MAKE GREEN#-@Q}@P #PAUSE*0@*MAKE BLACK*0@*MAKE BLACK-@AR}m H:,$@ @:0@@T0@mRANDOM LIGHTNING FLASH  AS}  D:STORM.BAS @:0@@T0@mRANDOM LIGHTNING FLASH  A12v&&DSDATHEXLINDATLIDDBYTPASCHKSUTOTAIN@U} *** POPCORN ***I @ 1(MAKE CASSETTE (0), OR DISK (1)5V}I!@@ C BC0,1,2,3,4,5,6,7,8,9,0,0,0,0,0,0,0,10,11,12,13,14,15(r;@,9@",/-W}@"3"<68,-@ L6-A V#A` A r( CHECKING DATA286-%@(LINE:!"8B:,@X}A <F%6-F:A,%F:A,$AV+C(LINE  MISSING!FFq-@@@56-@:7<,,&@HY}[6-@:7%@<%@,,&@Hq6-8,$@%8,P."@*@ $". @PZ% 6-%Z}!A %6-&Ad  ""@Pn A x F:A,@A "Ap([}A`*@A$)*@@<*@A%O*@@b*@u*@@2\}@<-@A**@. 9@<(Ag+("INSERT DISK WITH DOS, PRESS R]}ETURN8;@,<g@@ D:AUTORUN.SYS*@AU)*@AU<*@^}O*@@2b*@A&u*@@E A{((READY CASSETTE AND PRESS RETURNH@@_}A(C:R#A0f-@@@j"w*@{ M(( WRITING FILE#6-@/6-A 9#AC`} A M @P(BAD DATA: LINE ``0,29,216,31,255,31,169,0,141,47,2,169,60,141,2,211,169,0,141,231,2,133,14a},169,56,141,232,2--133,15,169,0,133,10,169,32,133,11,24,96ddA9018509A900850CA920850DA90E8DC502A9328DC60220742CA9008D2b}F02859C8D08D28D01D28D03D2A2299580,441ddCA10FB20B72420E023A9D68580A90F8581A20520A52DA200BDAD279D7810E8D0F7BDAD289D7811E8E0c}18D0F5A2,285cc00BDC5289DFF12E8E01BD0F5A217BDDF289DD70FCAD0F7204324A9308DF402A9FE8D0002A9298D0102A9F78D30,22dd02A9288Dd}3102A9C08D0ED4A93A8D2F0220F922A901859AA90285A1A9118DF10FA90385A28D0FD2203D23AD1FD0,763ddC906F010C905D007859AA9158DF10FAD8e}402D0E9A91E209D24AD1FD0C906F0F920102420ED23A988859D8D0AD0,143ddA9408D0ED4A9018D6F028D09D0A9038D1DD0A9008D07D4202424200424f}A977859C8D1ED0A49AB974248593A904,844$ddA212A00920C22CA906A214A00920C22CAD1FD0C906D00AAD1FD0C906F0F94C0020ADFC023015A9FF8DFg}C02A5A4,956.dd450185A4F008ADFC0230FB4C3421206524207D2CA599D009AD0AD2C914901BB004C699D012A908A001A21220C2,6498dd2CA90AA0h}01A21420C22C4CDE21A90CA212A00120C22CA90EA214A00120C22CA9018584A59A0A1869048599A200,749BddBD0006F009E8E8E00CF03E4C95218694Ai}59A0A8596A201BD0006F004C5969029E8E8E00DF0F1A694A00AA90E20,362LddAA24C9109004C91690F19D00068584A90CA00120AA24E89D000686A3ADj}05D0D0034CCB228582205D2DA49AC006,100Vdd9002A0052009238D1ED0E69BA49AA59BC005B007C919B0074CCB22C93290F9A908A001A21220C22CA90k}AA001A2,925`dd1420C22CA9068594A9288593206524A9AF8596C694A594F01BA005200923C696A596C9A090E28D01D2A90C8D00,191jddD2208824l}4C3A22A900859B8D01D2A49AC013F069E69AA49AC004F00CC009F008C00DF004C011D03D8C762620B7,493tdd2420CE24A93A8D2F02201024A904A212Am}00920C22CA906A214A00920C22CA908A001A21220C22CA90AA001A214,202~dd20C22CA93C209D24AC7626C013F011C00AD00DA9108DF10FA9118DF00Fn}4CC622EEF10FB974248593A59FC903B0,432dd034C1E21205223A900859FC6A2A5A2F00D203D23A977859C209D244C1E21A9018DD72620CE244C0020Ao}910A200,486dd9DDF0FE8E006F0034CFD2260ADE00F8597A204BDDF0FC919D009A9109DDF0FCA4C1023FEDF0F88D0E8A597CDE0,499dd0FF00FA5p}A2C905F009E6A2203D23A9C0859D60A205A9009DF50FCA10FAA6A2A9419DF50FCAD0FA60A9A8859D20,433ddB724A908A001A21220C22CA90AA001A21q}420C22CA914209D24A99F8597A9CF858BA227A000208824B9DF269DB0,250dd1EC68BA58B8D02D0A59C38E92AC697C597B00BC8C00490E0A000CA4C7Cr}23E68BBDB01EF0174A4A9DB01E208824,911ddE68BA58B8D02D038E906859C4CA423E8E02990DFA59C8596A596859CC9F5B00E1869068D02D0E696208s}8244CC9,849dd2360A9008580A9048581A2054CA52DBDB32D9DD204BDC22D9DCD05BDD12D9DD706E8E00FD0E9A207BD1D249DC0,382dd02CA10F7t}60A9008580A9108581A20F4CA52D3A480F00280E00A9358D3002A9298D3102A99F8D0002A9298D0102,124ddA901209D24A9C08D0ED460A200BD00E09u}D0030BD00E19D0031BD00E29D0032E8D0EBBD232A9D0032E8E0A1D0F5,583ddA000A220C8C493D0FBA000CAD0F66000C89678645046413C37322D2823v}1E1916120D0A9848A900A8186901C916,953ddF006C8D0FD4C8D2468A8608594A9008514A514C594D0FA608598AD0AD22598849818659860A90F85A12w}07D2CA9,540dd00AA9D0006E8E00C90F8A90285A160A9408D0ED420E023A9008580A9108581A20520A52DA230A97E9D9E06CA10,515ddFAA200BDx}BC2A9D0030E8E030D0F5A200BDEC2A9D0031E8E098D0F5A9018D6F02A9038D0AD0A9E48DC202A9888D,539 ddC502ADD726D011A90DA00120AA240A0A0y}A0A18690E8DC602A9148D3002A9298D3102A9138D0002A92A8D0102A9,131ddC08D0ED4A9008594A9108595E69518A594695D85949002E695ADD726D0z}13AD0AD2C906B0F9AABDD8268DD626A9,180dd254C8125A9008DD6268DC602A9298DDE26A200A000BD77269194E8C8BD7726919418A59469148594900{}2E695E8,505(ddE00AD0E2A200A9019D5C11A9029D5F11188A6914AAE064D0EDA9038D49118D4A11A9048D4811A9058D4B11A970,1632dd8D02D020|}9D24A9648D01D28D03D2A9188D00D2A9198D02D2A9718596208824A5968D02D0C987F00B208824E696,411<dd2088244CE925A9008D01D28D03D2A91E2}}09D24ADD726D004A98AD002A999859DACDE268C5D11C88C5E11C88C71,613Fdd11C88C7211AED626A000BD832699D011C981F005E8C84C3126A9FF209D~}24A9008D2F02A901209D24A9008D02D0,516Pdd8D0AD08DD726A9408D0ED420E02320ED23204324200424202424AE7526AC7626600000212223246D6E6}F707172,335Zdd0101B9AFB587B2A580A6A9B2A5A48180A7B2A5A1B480AAAFA2818080B7A1B980B4AF80A7AF81808080B7AFB7A5,155dddA5818080}A6A1AEB4A1B3B4A9A381ACA9ABA58C80A1B7A5B3AFADA5818080A7AFAFA480B7AFB2AB8100000D1924,617ndd2E3947000105155579046004A20490028}00279046004A2049002800279046004790460046C048004A204900280,371xdd0279046004A2049002800279046004A20490028002790460046C046004}7908A2048004D904C102AD02A2048004,460ddD904C102AD02A2048004A20480049004AD04D904C102AD02A2048004D904C102AD02A2048004D904C10}2AD02A2,503dd04800490048004A20800003C0235022F043C04350440043C08005102510651086C0460067910F31000F308D904,855ddCC0CD90C}F302FF02F302FF02F308D904F308000021022502210225020000000041414141004141414100414141,890dd410041414141004141414100414141410}041000041004100000000410000410041000041004100004100410000,385dd0000410000410041000041004100004100410000000041000041004100}00410041000041004100000000410000,360dd41004100004100410000410041000000004141414100410000410041414141004100000000410000410}0414141,790dd000041410041004100000000410000000041000041004100000000410000000041000041004100004100410041,765dd41004100}0000004100000000410000410041000000004100000000410000410041000041004100004100000000,610dd000041000000004141414100410000000}041414141004141414100410000410041000041004100002279002D61,142dd726B00616E6400236174687900336C6F61746D616E0033232F32250000}00000000000000000000002C2536252C,378dd707042001002020202020202020202020282020202020202020241F7287070704600100606060606060}6060606,688dd06060606060606060606860606704114297070C2D60F4D00100D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D,132dd0D0D0D0D}0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D,717dd0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0}D0D0D0D0D8D0D0D0D0D8D0D0D8D41352948A9DA8D0AD48D18D0A9B48D,335dd0002A9298D0102684048A9E48D0AD48D13D0ADC2028D16D0A9CF8D0002}A9298D0102684048A90A8D0AD48D12D0,821ddA9048D1BD0A9E98D0002A9298D0102684048A9C88D0AD48D1AD0A99F8D0002A9298D0102684048A9E08}D0AD48D,578"dd09D4A90A8D17D0A9008D18D0684048A9E08D0AD48D09D4A9088D1AD06840000000000000000060F6FF7F3E7878,996,dd00000000}38EFEF2A0A2E2F0A000028AEFAE8C080000000AAAAAAAAAA55000000AA282800AA55000000AAAAAAAA,8216ddAA5500000000000000000000000000000}000000055000000000000002855000000000000000055000000000000,371@dd0000000000550000000000000028550000000000000000550000000000}00000000000000000000000000000000,666Jdd00000000F7F7F7007F7F7F38F8F8F8387878781C1F1F1F1C1F1F1FFFFF0000000000007FFFFCFC78787}878FEFF,631Tdd3F3F1F1F1F1F000000000000000000070F193F3D7D7F00E0F098FCBCBEFE3F3C1F0F07030300FC3CF8F0E0C0C0,394^dd0000070D}1B373D7D7F00E0B0D8ECBCBEFE3B3C1F0F07030300DC3CF8F0E0C0C00000070F1B3D3E7D7D00E0F0D8,949hddBC7CBEBE3F3C1B0F07030300FC3CD8F0E}0C0C0003F7F7F6F6F6F6F6FFCFEFEF6F6F6F6F6606F0F6E6E0E0E0E06,547rddF6F076767070700E0E0E0E0E0E1E3E707070707070787C8E098A0D8611}8215D8A58FF005C68F4CC62BA5904901,111|dd8590D01BA69DBDE326F0218D04D2A9AA8D05D2E8BDE326858FE8869D4CC62BA9008D05D2A69DCABDE32}6858FAD,478dd7802C907F019C90BD02BA59CC9329021A49AC0059002C69CC69CC69C4CF82BA59CC9C3B00CA49AC0059002E69C,327ddE69CE69C}A900854DA59C8D01D01869058D00D0A584F02BE68EA58EC902D023A68DBD842B8D03D2E8BD842B8D02,101ddD2A900858EE8868DE008D009A9008D03D}2858D8584A582F037E685A585C901D02FA583D004A9F0858CA9AA8D01,152ddD2A58C8D00D2F00F38E928858CA9008585A9018583D00CA9F0858CA900}8582858385854C62E4A907A22BA08C4C,767dd5CE4A9008592A692BD0006D009E8E88692E00C90F160BD00068586E8BD0006859EC961900ECAA9009D0}006E89D,279cc0006E69FD003FE0006E88692A5A1858720C82CA692E00C90C0608587849E8686A901858AA93285A8A58AD004E6,39dd86E687A90}0858985A085A68595A59E0A26950A26950A2695A69586A685A50A26950A26951865A585A5A59565A6,241dd85A6A5A518658685A59002E6A618A5A569}0085A5A91065A685A6A9008595A5870A26890A26890A268918658785,176ddA7A58965A885A8A4A0B1A7A00091A5A5A518692885A59002E6A6E6A0A5A}0C909D0E5C68AA58AC9FFF0034CD02C,720dd60A59C38E9244A4A38E9048591A000A200BD0006F004C591F010E8E8E00CD0F1E691C8A200C006D0E860}E8BD00,581dd06CAC94E90E7859EBD00068586A90F8587A9009D00069D01064CC82CA000989180C8D0FBE681CAD0F6602070F0,203ddF2F2FE7E3}E0F0F0F0F0F0F0FFFFFFF7E7E7E7E7E7E7E00000000000078F8808000000000000000000000000000,505* 3555 BYTESD2:POPCORN.BAS}0F0F0F0F0F0F0FFFFFFF7E7E7E7E7E7E7E00000000000078F8808000000000000000000000000000,505* 3555 BYTESD2:POPCORN.BAS=kd!X; +-------------------------+i!X; | POPCORN! |n!X; | |s!X; | Mark and Cathy } Sloatman |x!X; | |}!X; | ANALOG Computing |!X; +-------------------------+X;X;SYSTE }M EQUATESX; BOOT DOSINI ATRACTMVDSLST DMA/SDLSTL0GPRIORoSTICK0x STR }IGPCOLR0PCOLR2COLOR1COLOR2 CHSET CHHPOSP0HPOSP1HPOSP2 } P1PFSIZEP1 SIZEP2 COLPM0COLPM1 COLPF0COLPF1COLPF2 COLBK } PRIOR"GRACTL'HITCLR,CONSOL1 AUDF16 AUDC1; AUDF2@ AUDC2E AUDF3J A }UDC3OAUDCTLT RAND Y SKCTL^PMBASEcCHBASE h WSYNC m NMIENr CHORGwXITVBV }b|SETVBV\X;X;P/M AND SCRN MEMORY USEX;CHARORG0CHARORG2CHARORGCHARORG3CHARORG S }CRNSCORELNSCRN*CANESCRNSCRNSHOWLEVSCORELNSHOWLIFESHOWLEVX; PMPM0PM }PM1PMPM2PMPOSITIONX;X;ZERO PAGE VARIABLESX; CLR CATCHSND CATCHS }ND1 SNDFLAGPOP SNDDELAY HORIZ  CHR  CHAROFS CHECK HPOSCANE  FREQ } !XFLAGPOP &DELAYPOP +LENGTH 0SNGFLAG 5HPOS1 : XREG ?SETDELAY D TEMP  }ITEMP1 NTEMP2 STEMPA XTIMER ]LEVEL bNUMBER g HPOS lSONGXREG q VERT } vMISSPOP { PLUS LOADCHAR LIVES LASTPOP PAUSEON OFFSET  CHAR  }X;X;INITALIZE GAMEX; ;;RUN ADDRESSX;STARTQ>;;TELL SYSTEMPBOOT;;DSK BOOT OCCUREDX;X;FOR CASS }ETTE USERSX;Q>4START;;NOW, HAVEPDOSINI;;SYSTEM RESETQ>5START;;START THEPDOSINI;;GAME OVER!Q>;;SET }UP COVERPCOLOR1;;COLORSQ>2 PCOLOR2 INITVBLANK;;TURN ON VBIQ>PDMA;;CLEANER SWITCHINGPHPOS;;PLAYERS } OFF SCRN PAUDCTL;;TURN OFF SOUND PAUDC1 PAUDC2$>);;41 BYTES TO CLR CLRZEROP9;;CLR%0;;ZERO PAGE*ICLRZE }RO;;VARIABLES/ ERASEPOPCORN;;CLR SCRN4 CLRPM;;CLR PM GRAPHICS9X;>X;CLR TITLE PAGECX;HQ>4SCORELN;;LOW BYTEMP }CLRRQ>5SCORELN;;HIGH BYTEW PCLR\$>;;5 PAGESa CLR0;;CLR IT!f$>k PUTPOPQPOPCORNSCRN9;;PUTPOPpPSCRNx9 };;AND PUTPOP1u2;;PUTS "POPCORN"zHPUTPOP;;TITLEPUTPOP1QPOPCORNSCRN9PSCRNx9;;ON SCRN2(> HPUTPOP }1$>PUTCREDSQMESSAGE9;;GIVESPSCRN9;;CATHY 2;;AND I(>;;THE GLORY! HPUTCREDS$>%PUTSCOREQMES }SAGE19;;PUTS "SCORE"PSCORELN9;;AND "LEVEL" 0;;ON SCRNHPUTSCORE;;NOT DONE! PUTCHAR;;REDEFINES CHAR. SETQ>5 }CHARORG;;TELL ANTIC"PCHSET;;WHERE NEW CHAR. SET ISQ>4DLI;;STORE LOWPVDSLST;;AND HIGHQ>5DLI;;BYTES OF DISPLAY }PVDSLST;;LIST INTERRUPTQ>4COVER;;DISPLAY LISTPSDLSTL;;OF TITLE SCRN Q>5COVERPSDLSTLQ>;;ENABLE DIS }PLAY PNMIEN;;AND VB INTERRUPTSQ>:;;TURN SCRNPDMA;;BACK ON! SETSCORE;;PUT ZEROS IN SCOREQ>;;START AT$PLE }VEL;;LEVEL ONE)Q>;;FALLING POPCORN.PLOADCHAR;;CHRS3Q>;;INTERNAL CODE8PSHOWLEV;;FOR "0"=Q>;;3 LIVESB PLIVE }SGPSKCTL;;INIT SOUNDL! SHOWLIVES;;PUT LIVES ON SCRNQX;V"X;ALL SET, WANT TO PLAY A GAME?[X;`WAITQCONSOL;;START K }EYeR>;;PRESSED?jFINIT;;YES!oR>;;NO-HOW ABOUT SELECT?tHDFD;;NO,CHECK TRIGGERyPLEVEL;;YES, START AT~Q>;;LE }VEL 5PSHOWLEV;;SHOW IT! DFDQSTRIG;;TRIGGER PRESSED?HWAIT;;NO DO IT AGAININITQ>;;DEBOUNCE LONGPAUSEI }NIT1QCONSOL;;R>;;START KEY RELEASED?FINIT1;;NO!X;X;SET UP GAMEX; CLRSCRN WRITEPM;;WRITE PLAYERS }Q>;;SHUT OFFPSONGXREG;;SONG PSIZEP2Q>@;;DISABLE DLI'S PNMIENQ>;;PRIORITY PGPRIOR PSIZEP1Q>;; }ENABLE PMPGRACTL;;GRAPHICSQ>5PM;;GET PM ADDRESSPPMBASE;;AND TELL ANTIC SETDL;;SET UP GAME DLI'S WRITECOLO }RS;;SET UP COLORS Q>w;;CENTER OF SCRN PHPOSPHITCLR;;CLR COLLISIONS%LEVEL;;GET LEVELQDELAYTABLE8;AND DELAY N }O.# PSETDELAY;;NEW SPEED OF GAME(X;-X;PRINT POT (BODY-LEFT SIDE)2X;7Q>;;CHR VALUE<$>;;X POSITIONA%> ;;Y PO }SITIONF PRINTCHR;;PRINT IT!KQ>;;NOW THE RIGHTP $>;;SIDEU%> Z PRINTCHR;;DITTO!_X;dX;ACTUAL GAME LOOPiX;n }#GAMEQCONSOL;;START KEYPRESSED?sR>x HRR1;;NO}ERTQCONSOL;;YES, NOWR>;;WAIT FORFERT;;RELEASE!START;;G }OTO TITLE PAGEX;RR1QCH;;SPACE BAR PRESSED?GCONT;;NOPE!"PAUSEINGQ>;;YES , LETS PAUSEPCH;;CLR KEYBOARDQ }PAUSEON;;GET FLAGN;;AND SWICH IT PPAUSEONFCONT;;IF ZERO THEN CONT.CHKPAUSEQCH;;PAUSE UNTILGCHKPAUSE;;TO }UCHED AGAIN !PAUSEING CONT DELAY;;CONT. WITH GAME CHARPOLL;;MOVE POPCORNQTIMER;;LENGTH OF LID OPENHWWQ;;ST }ILL COUNTING DOWN&QRAND;;MAYBE LETS POP SOME POPCORNR> DAA;;<20EWWA;;>=20WWQ"TIMER!HOUT4;;STILL NOT RE }ADY TO POPX; X;PRINT LID DOWN - LEFT SIDE X;WWAQ>;;CHR VALUE%>;;Y POSISTION$>;;X POSITION PRINTCH }R;;PRINT"Q> ;;RIGHT SIDE'%>,$>1 PRINTCHR;;PRINT6OUT4!OUT6;X;@X;PRINT LID UP - RIGHT SIDEEX;JAAQ> } ;;CHAR. VALUEO$>;;X POS.T%>;;Y POS.Y PRINTCHR^Q>;;LEFT SIDEc$>h%>m PRINTCHRrQ>;;MAKE A VBwP }SNDFLAGPOP;;"POP" SOUND|QLEVEL;;RESETS TIMERT?;;SO THAT LID,;;POPPING DOESN'TO>;;INCREASE TOOPTIMER;;MUCH I }N SPEED$>+CKCHARQPOSITION9;;ANY POPCORNS NEEDED? FNN4;;YES 2;;NOT YET2(> ;;DONE CHECKINGFOUT6;;YES,N }ONE NEEDED!CKCHAR;;NO, CHECK AGAINX;NN4&TEMP;;SAVE X REGQLEVEL;;GET LEVELT?;;MULT. BY 2PTEMP1;;STORE I }T$>;;GET POSITIONNNXQPOSITION9FNEXTONE;;SKIP CHECKRTEMP1;;LEVEL*2DOUT6;; ;;DONE?FNNX;;YES!$TEMP;;NO. POP SOME NN5%> Q> RANDOM;;RND(0)*14+10 }R>;;MAKES SUREDNNZ;;POP DOESN'T!R>;;GET WIPED OUT&DNN5;;TRY AGAIN+X;0NNZPPOSITION9;;HORIZ. POS.5PSNDF }LAGPOP;;"POP" SOUND:Q> ?%>D RANDOM;;RND(0)*12+1I2NPPOSITION9;;VERT. POS.S&LASTPOP;;SAVE LAST POPCORNXOUT }6QP1PF;;POPCORN CAUGHT?]HNN0;;YES!b!NN3;;NOPE.gX;l!NN0PCATCHSND;;MAKE SOUND(VB)q ERASECHR;;ERASE POPCORNv%L }EVEL;;GET LEVEL{)>;;6 OR HIGHER? DXXXX;;NO%>;;YES,POINTS=50#XXXX INCSCORE;;POINTS=LEVEL*10PHITCLR;;CLR CO }LL."#NUMBER;;NUMBER OF CAUGHT CORN%LEVEL;;LEVELQNUMBER;;GET NO. CAUGHT)>;;LEVEL 5 OR HIGHER?EFFFF;;YES }R>;;NO ,25 CAUGHT?EGGGG;;YES!(NEXT LEVEL)MMX!NN3;;A LONG WAY TO GOX;$FFFFR>2;;50 CAUGHT?(NEXT LEVEL) DMM }X;;NOX;X;PRINT LID TO SCRN-DOWNX;GGGGQ>;;LID DOWN%>;;Y POS$>;;X POS PRINTCHRQ> ;;2ND HALF OF } LID%>;;SAME AS ABOVE$> PRINTCHRQ>PTEMP;;TEMPORARY BONUSQ>(;;SLOW IT DOWN PSETDELAY DELAY;; }BONUS GIVESQ>;;250 POINTS PTEMP1;;IN 5 STEPS AND%"TEMP;;SOUNDS BELL*QTEMP;;EACH TIME/FGG14%>;;50 POINTS9 } INCSCORE;;ADDED EACH TIME>BELL"TEMP1;;RING BELLC QTEMP1HR>M DBONUSRPAUDC1;;MAKE BELL SOUNDWQ> ;;FREQUEN }CY\ PAUDF1a PAUSE;;PAUSE A LITTLEf!BELL;;NEXT SOUNDkX;p GG1Q>uPNUMBER;;0 POPCORNSzPAUDC1;;NO SOUND%LE }VEL;;GET LEVEL)>;;IF 19 THEN DON'TFCHANGELEV;;INCREASE IT#LEVEL;;NEXT LEVEL %LEVEL)>;;LEVEL 3?FGREET }ING;;SEE THE BOSS)> ;;LEVEL 8FGREETING;;SEE THE BOSS)> ;;LEVEL 12FGREETING;;SEE THE BOSS)>;;GUESS! HN }OBOSS!GREETING'TEMPYREG;SAVE Y REG ERASEPOPCORN;;CLR SCRN SEEBOSS;;GET CONGRATULATED!Q>:;;TURN SCRN ONPDM }A CLRSCRNX;X;PRINT POT BODYX;Q>;;CHAR VALUE$>;;X POS%> ;;Y POS PRINTCHR;;PRINT IT! Q>;;SAM }E AS ABOVE, $>;;ONLY RIGHT %> ;;SIDE OF POT  PRINTCHR;;DITTO! X; X;PRINT LID DOWN - LEFT SIDE X;$ Q>;;CHR } VALUE) %>;;Y POSISTION. $>;;X POSITION3  PRINTCHR;;PRINT8 Q> ;;RIGHT SIDE= %>B $>G  PRINTCHR;;PRINTL Q>< }Q  LONGPAUSE;;PAUSE ONE SECV %TEMPYREG[ NOBOSS)>;;LEVEL 19?` FDS;;YES. NO MORE TESTSe )> ;;10?j HDS;;NOo Q>; };YES, NEED TOt PSHOWLEV;;CHANGE 2ND DIGITy Q>;;TO 0 AND~ PSHOWLEV;;PUT 1 IN FIRST !CHANGELEV X; %DS#SHOWLEV };;INCREASE LEVEL SHOWN )CHANGELEVQDELAYTABLE8;;GET NEW SPEED PSETDELAY;;OF GAME NN3QMISSPOP;;MISSED THREE R>;;P }OPCORN ETT1;;YEP. UH-OH! !GAME;;NO GO ON PLAYING (TT1 LOSECHANCE;;GET PULLED OFF SCRN Q>;;RESET HOW MANY PMIS }SPOP;;POPCORN MISSED "LIVES;;ONE LESS CHANCE QLIVES;;ANY LIVES LEFT? FTT2;;NO!  SHOWLIVES;;SHOW THEM Q>w;;CENT }ER HAND PHPOS  LONGPAUSE;;PAUSE !GAME;;PLAY GAME X; TT2Q>;;TELL SEEBOSS PBOSSFLAG;;THAT YOU LOST  SEEBO }SS;;SE HIM! !START;;START GAME OVER X; X;GAME ROUTINES X; SETSCOREQ>;;ZEROS SCORE $> ZSCOREPSCORELN 9 };;PUT SIX 2;;ZERO'S# (>;;IN SCORELN( FGGG- !ZSCORE;;"0" IN NEXT POS.2 X;7 GGG:;;ALL DONE< X;A X;INCREASES SCORE }F X;K INCSCOREQSCORELN ;;GETP PTEMP2;;10000 AND STORE ITU INCSCOR1$>;;5 POS.Z LLQSCORELN 9;;GET NO._ R>;; }FOR EACH POS.d HFF;;AND CHECK FOR 9i Q>;;ZERO NUMBERn PSCORELN 9s 0;;NEXT POSITIONx !LL;;AGAIN} X; FF#SCOREL }N 9;;ADD 1 1;;POINTS ADDED? HINCSCOR1;;NO! QTEMP2;;PASSED 10000 RSCORELN ;;POINTS? FQW;;NOPE. RETURN X; }X;GAIN A ANOTHER CHANCE! X; QLIVES;;GET LIVES R>;;5 YET? FQW;;YES. NO MORE #LIVES;;GAIN A LIFE  SHOWLIVES; };SHOW IT Q>;;TELL PLAYER PSONGXREG;;BY PLAYING SONG QW: X; SHOWLIVES$>;;5 POSITIONS Q> CLRLIFEPSHOWL }IFE9;;CLR 0;;LIFES OUT FIRST ICLRLIFE $LIVES;;GET LIVES Q>A;;POPCORN CHAR. NSTPSHOWLIFE9;;SHOW THEM 0 HNS }T;;DONE? :;;YES X; X;UH-OH! YOU BLEW IT! X;" LOSECHANCEQ>;;PLAY DEFEAT' PSONGXREG;;SONG,  ERASEPOPCORN;;CLR S }CRN1 Q>;;LID DOWN6 %>; $>@ PRINTCHRE Q> ;;2ND HALF OF LIDJ %>O $>T PRINTCHRY Q>^  LONGPAUSE;;PAUS }E A LITTLEc Q>;;159 PIXELSh PTEMP2;;STOREm Q>;;PLAYER STARTINGr PHPOSCANE;;POSITIONw $>';;40 BYTES| %> !PUSH }CANE PAUSE;;SLOW IT DOWN QVALUE8;;VALUES FOR CANE PCANESCRN9;;POKE SCRN "HPOSCANE QHPOSCANE;;MOVE PHPOSP2;;PL }AYER QHPOS;;GET HAND POS. ; S>*;;SUBTRACT 42 "TEMP2;;AT LOCATION RTEMP2;;OF MAN YET? EPULLBACK;;YES! 3;;NO }. DONE WITH )>;;BYTE? DPUSHCANE;;NO! %>;;NEXT BYTE 0 !PUSHCANE;;PUSH CANE X; !PULLBACK#HPOSCANE;;MOVE HO }OK PULLINGQCANESCRN9 FOFF;;IF DONE SHIFTING V?;;MOVE CANE ONE POS. V? PCANESCRN9;;PUT ON SCRN PAUSE #HPO }SCANE QHPOSCANE PHPOSP2;;MOVE HOOK ; S>;;THEN MOVE PHPOS;;HAND! !PULLING& X;+ OFF20 (>);;40 BYTES PER S }CRN5 DPULLING;;NOT DONE YET: QHPOS;;SAVE HAND POS? PTEMP1D OFFSCRNQTEMP1;;NOW WEI PHPOS;;NEED TON R>;;PULL HAND } & HOOKS EER;;OFF OF SCRNX ,] O>b PHPOSP2;;HOOK HORIZ POSg #TEMP1l PAUSEq !OFFSCRNv X;{ ER: X; X;CLR PL }AYER MEMORY X; CLRPMQ>4PM;;LOW PCLR Q>5PM;;HIGH PCLR;;BYTES $>;;5 PAGES !CLR0;;CLR THEM! X }; X;PUT PLAYERS INTO MEMORY X; WRITEPMQPMDATA09;;GET PPM09;;PLAYER QPMDATA19;;DATA PPM19;;AND PUT QPMDATA }29;;INTO P/M PPM29;;MEMORY 2 (>;;15 BYTES HWRITEPM X; X;FILL COLOR REGS. X; WRITECOLORS$>;;SET UP C }OLORSQCOLORTABLE9 PPCOLR09;;COLORS 0 ICOLORS : X; X;CLR GAME SCRN X;% CLRSCRNQ>4SCRN* PCLR;;/ Q>5SCRN };;CLR4 PCLR;;SCRN FOR PLAY9 $>> !CLR0C X;H #COLORTABLE :=H===(==M X;R X;SET UP DL AND DLI'SW X;\  }SETDLQ>4DLIST;;TELL ANTICa PSDLSTL;;WHERE DISPLAYf Q>5DLIST;;LIST ISk PSDLSTLp Q>4DLI1;;AND WHEREu PVDSLST;;DIS }PLAY LISTz Q>5DLI1;;INTERRUPT IS PVDSLST Q>;;1/60 OF A SEC.  LONGPAUSE;;WAIT UNTIL Q>;;NEXT VBI TO PNMI }EN;;ENABLE DLI : X; X;LOAD REDEFINED CHR SET X; PUTCHAR$> PUTCHAR1QCHORG9;;LOAD PCHARORG9;;CHR QCHORG }9;;DATA AND PUT PCHARORG29;;INTO QCHORG9;;REDEFINED PCHARORG39;;CHR SET 2 HPUTCHAR1 REDEFINEQCHARDAT }A9;;NOW PCHARORG39;;CHANGE 2;;CHRS TO (>;;WHAT WE WANT HREDEFINE X; X; DELAY%>$> ;;SLIGHT DELAYD }ELAY13;;USED MAINLY )SETDELAY;;TO TIMEHDELAY1;;FALLING POPCORN%>0 HDELAY1$:)X;.)DELAYTABLE === }x=d=P=F=A=<3$ 7=2=-=(=#===== = 8X;=PAUSEC;;A LONGER PAUSEB5;;THAT SAVES THEGQ>;;Y REGL?Q }PAUSE1,VO>[R>` FDONE7e PAUSE23j HPAUSE2o !PAUSE1tX;y DONE77~?:X;X;JIFFY TIMERX;LONGPAUS }EPTEMP;;A REGQ>;;CONTAINS JIFFIESP;;(1/60 SEC) FORWAIT1Q;;LENGTH OF PAUSE RTEMP HWAIT1:X;X;GE }T A RANDOM NUMBERX;RANDOMPTEMPAQRAND;;RANDOM NUMBERMTEMPA;;KNOCK OFF'TEMPA;;THEN,;;THEN ADDOTEMPA; };SPECIFIED NUMBER:X;X;TAKE POPCORN OFF OF SCRNX; ERASEPOPCORNQ>;;BLANK CHAR PLOADCHAR CHARPOLL;;ALL O }FF SCRN! Q>>LOOP9APPOSITION9;;NOW CLR2;;POS. TABLE(> # DLOOP9A(Q>- PLOADCHAR2:;;ALL DONE7X;< }X;YOU GET TO SEE THE BOSS!AX;F SEEBOSSKQ>@;;DISABLE DLI'SP PNMIENU CLRPMZQ>4SCRN;;CLR SCRN_PCLRd Q>5SCRNi } PCLRn$>s CLR0x$>0;;CHANGE PLAYER 2}Q>~;;TO DOORWRITEDOORPPM90IWRITEDOOR$>$REDEFINE }1QBOSSCHAR19;;ALTERNATEPCHARORG9;;CHR 2;;SET(>0HREDEFINE1$>REDEFINE2QBOSSCHAR29PCHARORG292 }(>HREDEFINE2Q>;;CHANGE PRIORITY PGPRIORQ>;;PLAYER 2 SIZE PSIZEP2Q>;;PLAYER2 COLOR PPCOLR2Q> } PCOLOR1 QBOSSFLAGHDONTCHANGEQ> ;;RND(0)*13+1%>  RANDOM T?;;*16T?T?T?",'O>,PCOLOR2 };;COLOR OF LETTERS1DONTCHANGEQ>4BOSSDLIST6PSDLSTL;;NEW DISPLAY;Q>5BOSSDLIST;;LIST@PSDLSTLEQ>4BOSSDLIJPV }DSLST;;AND DLIOQ>5BOSSDLITPVDSLSTYQ>;;ENABLE INTERR.^ PNMIENcQ>4SCRN;;GET FIRSThPTEMP;;BYTE OF SCRNm Q> }5SCRNr PTEMPw#TEMP;;ADD 255|, QTEMPO>];;+93 =PTEMP;;SCRN+348DDC1 #TEMPDC1QBOSSFLAG }HLOSEFACEFINDNUMQRAND;;GET MESSAGER>;;RANDOM NO. EFINDNUM>QBOSSTABLE9;;FIRST BYTEPBOSSXREG;;OF MESSA }GEQ>%;;HAPPY FACE!STOREFACEX;LOSEFACEQ>;;SAD SONG PBOSSXREGPCOLOR2;;BLACK MESSAGEQ>);;SAD FACE }STOREFACEPFACE$>LOOPX%>;;PUT CHRSQBOSS19;;THAT MAKEP@TEMP7;;UP BOSS ON 2;;SCRN3;;(2 WIDE*9 HIGH) }QBOSS19;;NEXT CHAR P@TEMP7;;PUT ON SCRN, QTEMPO>;;20 BYTES PER LINE!PTEMP;;(ADD TO OFFSET)&DLPX+ #TEMP }0LPX25(> ;;9 HIGH: HLOOPX?$>DFRAMEDOORQ>IPSCRN\9;;LEFT SIDENQ>SPSCRN_9;;RIGHT SIDEX,] }AbO>;;20 BYTES PER LINEg>l(>d;;DONE?qHFRAMEDOOR;;NO!vQ>;;NOW FRAME IN{PSCRNI;;TOP OF DOOR PSCRNJ }Q> PSCRNHQ> PSCRNKQ>pPHPOSP2;;CENTER DOOR LONGPAUSEQ>d;;MAKE MECH.PAUDC1;;SOUND FOR }DOORPAUDC2;;BEAT VOICESQ>;;ONE AND TWOPAUDF1;;TOGETHERQ> PAUDF2Q>q PTEMP1OPEN PAUSE QTEMP }1PHPOSP2;;MOVE DOORR>;;DONE?FDONEA;;YES! PAUSE #TEMP1 PAUSE !OPENX;DONEAQ>;;SHUT OFF SOUN }D  PAUDC1 PAUDC2Q> LONGPAUSE  QBOSSFLAG%HPLAYSAD;;WHICH SONG?*Q>;;HAPPY!/HSONGSTART4X;9PLAYSAD }Q>;;SAD>!SONGSTARTPSONGXREG;;NOW PLAYC%FACE;;SONG AND PUTH'SCRN];;CORRECTM3;;FACE ON SCRNR 'SCRN^W3;;E }ACH FACE MADE\'SCRNq;;UP OF FOURa 3;;CHRSf 'SCRNrk$BOSSXREG;;WHICH MESSAGE?p%>uPRINT1QMESSAGE89zPSC !}RN8;;PUT ON SCRNR>;;INVERSE !FGOBACK;;NOT DONE!23 !PRINT1X;GOBACKQ> LONGPAUSEQ>PD "}MA;;SHUT OFF DMAQ>;;(CLEANER SWICHING) LONGPAUSE;;PAUSE 1 JIFFYX;X;RESET TO ORIGINALX;Q>;;CLR VARIABLE #}SPHPOSP2;;DOOR HORIZ PSIZEP2 PBOSSFLAGQ>@;;DISABLEPNMIEN;;DLI'S CLRPM;;PUT PROPER WRITEPM;;PLAYERS $}BACK PUTCHAR;;AND CHAR SET WRITECOLORS SETDL;;SET DISPLAY LIST$TEMPXREG;;GET BACK X AND%TEMPYREG;;Y REGS %}:X;TEMPXREG TEMPYREG BOSS1 !="=#=$=m=n$ o=p=q=r==)X;."X;MESSAGES WHEN SEEING THE BOSS &}3X;8!MESSAGE8 =AYOU'RE FIRED!A= =A GREAT JOB! AB =A WAY TO GO!AG =A WOWEE! AL =A FANTASTIC! '}AQ =ALIKE, AWESOME!AV =A GOOD WORK!A[X;`X;eBOSSXREG j"BOSSFLAG ;;HAPPY OR SAD BOSSoBOSSTABLE  = (}=$=.=9=GtFACE ;;HAPPY OR SADyVALUE ===U~X;X;THEME SONG DATAX; SONG y==`===== )} ==y==`=== ====y==`= y==`==l=== ======y= `===== *}== y==`===== ==y==`==l= `==y= ====== ====== +} ======= ======= ======= ======= ==== ,}=== ======= =======X;$X;SONG VALUES WHEN CONGRADULATED!X; <==5== -}/==<==5 =@==<==X;"X;SONG WHEN YOU LOST THE GAME! X; Q==Q==Q==l= `==y=== .}=X;!X;SONG WHEN YOU LOSE 3 CHANCES#X;( ===== =-  ========2 ====== /}=7X;<#X;DIDDLE WHEN A CHANCE IS GAINEDAX;F! !==%==!==%===KX;POPCORN! IN BIG LETTERSPX;UPOPCOR 0}NSCRNZ ==A=A=A=A==A_ A=A=A==A=A=A=Ad =A=A=A=A==A=Ai A=A==A=A=A=A=n A== 1}=A==A==s ==A===A==Ax ==A==A===A} =A=====A= =A==A===A= 2} A===A==A== ==A===A==A ==A==A===A =A=====A= =A==A== 3}=A= A===A==A== ==A=A=A=A==A ==A==A=A=A=A =A=====A= =A 4}==A=A=A== A=A==A==A== ==A=====A ==A==A=== =A=====A= 5} =A==A===A= A==A=A==A== ==A=====A ==A==A=== =A=== 6}==A= =A==A===A= A===A==== ==A=====A A=A=A==A===  7}=A=A=A=A==A=A A=A==A===A= A===A==A== X;MESSAGE ABy Mark and A ACathy Sloatm 8}anAX;(MESSAGE1 A SCORE LEVELA"X;'X;DISPLAY LISTS,X;1X;TITLE PAGE6X;;COVER p=p=B@ SCRNE 9} =======J =======O =====AT COVERYX;^X;SCRN WHEN SEEING BOSScX;hBO :}SSDLIST p=p=p=Fm SCRNr =======w =======| ===== =p=A BOSSD ;}LISTX;X;GAME SCRNX;DLIST p=p=Ÿ SCORELN M SCRN  = = = = = = =   = = = = = = = <}   = = = = = = =   = = = = = = =   = = = = = = =   = = = = = = =   = = = =}= = = =   = = = = = = =   = = = = = = =   = = = = = = =   = = = = = ==   >} = = == = ==A DLISTX;X;DISPLAY LIST INTERRUPTSX;X;CHANGE SCORELINE COLORX; DLI15 Q>PWS ?}YNC;;CLEAN BREAKPCOLPF2;;NEW COLORQ>4DLI2;;NEXT DLI! PVDSLST& Q>5DLI2+PVDSLST0759:X;?X;CHANGE POT C @}OLORDX;I DLI25NQ>SPWSYNC;;CLEAN BREAKXPCOLPM1;;POT]QPCOLR2;;CANEHEAD COLORbPCOLPF0;;PUT IN CANEgQ>4DLI A}3;;NEW DLIl PVDSLSTq Q>5DLI3vPVDSLST{79X;X;PUT A CUFF ON THE ARMX; DLI35Q>  PWSYNCPCOLP B}M0;;CUFF WHITEQ>;;MAKE CANE PASSPPRIOR;;BEFORE PLAYERQ>4DLI4;;NEW DLI PVDSLST Q>5DLI4PVDSLST7 C}9X;X;MAKE GREEN TABLEX; DLI45Q> PWSYNCPCOLBK;;BACKGRNDQ>4DLI1;;NEW DLI PVDSLST Q>5DLI1P D}VDSLST7 9X;X;DLI FOR TITLE SCRNX; DLI5%Q>;;DEFAULT CHARSET*PWSYNC;;CLEAN BREAK/PCHBASE;;SWITCH E}CHAR SET4Q> ;;NEW CHAR. COLOR9 PCOLPF1>Q>;;BACKGRNDC PCOLPF2H7M9RX;WX;FOR BOSS'S SCRN\X;a BOSSDLI5fQ F}>k PWSYNCpPCHBASE;;CHBAS HARDWAREuQ>;;GREY FLOORz PCOLBK79X;X;DATA FOR NEW CHAR. SETX;$CHARDAT G}A =======! `====>=x=x=== =8===*= =.=/=  ==(====== = H}======U= ===(=(===U= =======U= ======== == I}======U =======(=U ========U ======== ==U== J}==== =(=U====== ==U====== ========X;X;FOR BOSS'S C K}HAR. SETX; ========%BOSSCHAR1 ======= 8====8=x=x=x ==== L}===  ======= ====x=x=x=x ==?=?====%BOSSCHAR2 ======= M} ====?===}=$ =======) ?=<======. =<======3 == = N}=7===}=8 ======== ;=<======B =<======G ======>=}=}L  O}=====|==Q ?=<======V =<======[ ?===o=o=o=o=o` ====== P}=e `=o==n=n===j ===v=v=p=p=po =======>t p=p=p=p=p=p=x=|yX;~%X;VE Q}RTICAL BLANK INTERRUPT ROUTINEX;$SNDVALUE = == ====X;VBROUTINE-QLENGTH;;LENGTH OF NOTE%FNEX R}TNOTE;;TIME TO PLAY NEXT NOTE"LENGTH;;DEC. TIMER!END1;;SKIP THE RESTX;&NEXTNOTEQSNGFLAG;;NOTE OR SILENCEN> S};;FLIP IT PSNGFLAGHSNDOFF;;SILENCE$SONGXREG;;GET NOTE PQSONG9;;THEN NOTEFEND1;;IF 0 DON'T PLAYPAUDF3; T};AND SOUND OFFQ>;;PURE TONEPAUDC3;;IN CONTROL2;;GET LENGTHQSONG9;;OF NOTEPLENGTH;;AND STORE IT!2&S U}ONGXREG;;UPDATE NOTE POS.!END1;;DONEX;SNDOFFQ>;;SHUT OFF SOUND PAUDC3;;( REST)$SONGXREG;;POS. IN TABLE V}0;;GET LENGTHQSONG9;;( SAME AS PREVIOUSPLENGTH;;NOTE)#END1QSTICK0;;STICK POS.?(R>;;RIGHT!- FFORWARD2R> ; W};YOU GUESSED IT!7HDONEX;;IF NOT-DON'T MOVE<QHPOS;;POS. OF HANDAR>2;;TOO FAR LEFT?FDDONE;;YES!K%LEVEL;;GET LEVE X}LP)>;;IF UNDER 5,UDSLOWER;;NEED TO SLOW ITZ"HPOS;;DOWN_SLOWER"HPOS;;MOVE TWICEd "HPOSi !DONEnX;sFORWAR Y}DQHPOSxR>;;TOO FAR RIGHT?}EDONE;;YES!%LEVEL;;SAME AS ABOVE)> DSLOWER1 #HPOSSLOWER1#HPOS #HPOS Z} DONEQ>PATRACT;;KILL ATTRACT MODEDONEXQHPOSPHPOSP1;;POT,O>PHPOSP0;;HAND PART TWO QSNDFLAGPOP; [};POPCORN POPING?FDONE9;;NO! #DELAYPOP;;YES, INC. COUNTERQDELAYPOP;;NEXT SOUNDR>;;EVERY 2 VBI'SHDONE9;;REA \}DY$XFLAGPOP;;GET NEXT VALUEQSNDVALUE9PAUDC2;;SOUND 22;;GET NEXTQSNDVALUE9;;FREQUENCYPAUDF2;;VALUEQ> ]};;RESET TIMER PDELAYPOP 2&XFLAGPOP;;NEXT VALUE(>;;DONE WITH POP?HDONE9;;NOPE.Q>;;RESET"PAUDC2;;SO ^}UND'PXFLAGPOP;;NEXT VALUE,PSNDFLAGPOP;;'POP' FLAG1 DONE9QCATCHSND;;ANY CAUGHT?6FNOTCAUGHT;;NOPE!;#SNDDELAY;;YE _}S!@QSNDDELAY;;EVERY TWO VBI'SER>JHNOTCAUGHTOQCATCHSND1;;IF IN MIDDLE OFTHRR;;POP, STARTY Q>;;ONE^ PFREQc `}RRQ>;;PURE TONEh PAUDC1mQFREQ;;NEXT VALUEr PAUDF1wFDONE2;;DONE? YES.|;;;NEXT NOTES>( PFREQQ>;;RE a}SET DELAY PSNDDELAYQ>;;SHOW SOUND ISPCATCHSND1;;IN PROGRESSHNOTCAUGHT;;ALL DONE!X;DONE2Q>;;GET SOUND b}PFREQ;;READY FOR NEXTQ>;;CATCH PCATCHSNDPCATCHSND1 PSNDDELAYNOTCAUGHT!XITVBVX;INITVBLANKQ> c};;DEFFERRED VBI$>5VBROUTINE;;ADDRESS OF%>4VBROUTINE;;VBI PROGRAM!SETVBV;;SET IT UPX;X;PLOT CHRS IN GR. 7 d}X;CHARPOLLQ>PXREG;;KEEPS TRACK OF!CHKPOS$XREG;;CURRENT POPCORNQPOSITION9;;CHECKS HCHKMOVE;;TO SEE2;; e}IF POPCORN2;;IS ON SCRN&XREG;;IF SO, MOVE!(> ;;IT DOWN& DCHKPOS+:0X;5CHKMOVEQPOSITION9;;TABLE:PHORIZ;; f}DRIVEN HORIZ?2;;AND VERT VALUESDQPOSITION9I PVERTNR>a;;FALLEN OFFSCRN?SDMOVEIT;;NO!X0;;YES. PUT OUT OF PLAY] g}Q>bPPOSITION9g2lPPOSITION9q#MISSPOP;;ONE MORE MISSEDv"HMOVED;;DON'T PUT BACK IN PLAY{MOVEIT#POSITION9;:NEX q}BJDOS SYSBNSTORM BASBNTPOPCORN BASBPOPCORN ASMB;TAG BASBPPMDLI LSTBPPMDEBUGLSTBHILITER BASB3PALETTE BASBBOPLVL6 LSTBBOPLVL7 LSTBOVERLAY1BASBOVERLAY2BASB .OVERPLOTASMB:OVERDRAWASMBPOVERCLS ASMBTPULSE ACTB<jROBRAID BASB BOOT1 ASMBBOOT2 BASBBOOT3 ASMBBOOT6 BASBBOOT8 BASB BOOT9 ASMBBOOT10 BASBBOOT11 ASMT POS MOVED2&XREG;;SAVE POPCORN POSQLOADCHAR;;POPCORN CHAR.PCHR PRINTCHAR$XREG;;CHECK NEXT(> ;;POS r}ITION DCHKPOS:X;X;USED TO PRINT TO GR.7 SCRNX;PRINTCHRPCHR;;VARIABLES 'VERT &HORIZ#PRINTCHARQ> s};;1ST OR 2ND PART?PCHECK;;2 CHAR. PER POPCORNQ>5CHARORG3;;CTRL CHAR PCHARPRINTQCHECKHAAA#HORIZ;;2N t}D PART#CHR AAAQ>PCHAROFS;:RESETPPLUS;;VARIABLESPOFFSET PTEMP QVERT;;VERTICAL VALUE T?;; u}*2UTEMP;;SAVE CARRY T?;;*4  UTEMP% T?;;*8* UTEMP/ $TEMP4&OFFSET;;SAVE HIGH&LOW9POFFSET;;BYT v}ES> T?;;*16C UTEMPH T?;;*32M UTEMPR,WOOFFSET;;ADD VERT*8\ POFFSETaQTEMP;;TO GET VERT*40fOOFFSET w}kPOFFSETp QOFFSETu,zOHORIZ;;SIMPLY ADDPOFFSET;;HORIZ. VALUEDBBB;;OVERFLOW? NO.#OFFSETBBB, x}QOFFSETO>4SCRN;;ADD INPOFFSET;;MEMORY LOC OFQ>5SCRN;;FIRST BYTEOOFFSET;;ON SCRNPOFFSETQ> P y}TEMPQCHR;;CHAR TO PRINTT?;;OFFSET= CHAR*9UCHAROFST?UCHAROFST?UCHAROFS,OCHR PCH z}ARQCHAROFS;;ADD IN LOCOCHAR;;OF CHR SET PCHARLOOP2%PLUS;;BYTE OF CHAR.Q@CHAR7;;NUMBER FOR BYTE {}%> P@OFFSET7;;PUT ON SCRN QOFFSET,O>(;;40 BYTES PER LINE POFFSET$DCCC;;OVERFLOW? NO.)#OFFSET.C |}CC#PLUS;;9 BYTES PER3QPLUS;;CHR8R> = HLOOP2B"CHECK;;NEXT CHRG QCHECKLR>;;WOULD BE THIRDQ FMMM;;CHRV!PR }}INT;;(TWO PER POPCORN)[X;`MMM:eX;jX;ROUTINE TO ERASE POPCORNoX;THAT TOUCHED POTtX;y$ERASECHRQHPOS;;PLAYER HOR ~}IZ POS~;X; X;ROUTINE FINDS CHAR POSITION X;BY HORIZ LOCATION OF PLAYERX;S>$V?;;DIVIDE BY FOURV?;S }> PHPOS1%>$>CHKPLAYERQPOSITION9FCHECKED;;IF O SKIP CHECK RHPOS1FERASE;;ERASE POPCORN CHECKE }D22(> ;;COMP. ALL POPCORNHCHKPLAYER#HPOS1;;CHECK AROUND PLAYER3$>)>;;ALL DONE?HCHKPLAYER;;NO! }:X;  ERASE2#QPOSITION9;;VERT POS OF POPCORN0R>N;;AT LOC OF POT (VERT)? DCHECKED;;TO HIGH UP ON SCRN#P }VERT;;STORE IT(QPOSITION9;;STORE-PHORIZ;;HORIZ POS2Q>;;BLANK CHR7PCHR<Q>A PPOSITION9;;PUT THAT POPCORNFP }POSITION9;;OUT OF PLAYK!PRINTCHAR;;ERASE CHRPX;UX;CLR MEMORY ROUTINEZX;_ CLR0%>dCiCLR1P@CLR7n3;;LOW }BYTE OFsHCLR1;;BEG. MEM IN CLRx#CLR;;HIGH BYTE IN}0HCLR1;;CLR+1:X;X;PLAYER DATAX; PMDATA0  =p }=====~ >=======PMDATA1 ===~=~=~ ~=~=~=~=====#PMDATA2 =x=== }=== ======X;X;RUN ADDRESSX; START~=~=====#PMDATA2 =x=== RewP0P1P2P3P0HLDP1HLDERASEPAINLESPMBASKIXPOYPOSTKLCPLYRSKEXPLODWOBBLSPEEQUICLOOSTRSPATTRA}CPLYTAGSMILEP2HLDP3HLDREMKSIZEPHPOSPP0PP0PHITCLHTCL} } @!"#$%&}'!!***************************!!* A SIMPLE GAME OF TAG *!!* DEMONSTRATING WAYS TO *!!* COMMUN}ICATE WITH THE *!!* PAINLES$ PLAYER MOVER *!!* by CHET WALTERS 8/84 * !!*************************** Z +@}A1AR@4(F( INITIALIZINGP AZ AҠŠӠšC-}@%%) -96-C @5e @ @&(>:A%,C(ENTER NUMBER OF PLAYERSGe} @)!@@ s @,1/@9C/@9@U/@g/@}s6-A^ @0(>:A%,6( ENTER SPEED (1 TO 4):@6-^ @)!@@0#& B}F:AV,& A(( A -T-&@'%@ + 7TTURN ON STICKS AND PLAYER}S01** MAIN GAME LOOP **2P F:,6-&@:2A@@FP @`7JR:},@(6-%@%J2@@@<^ @&-@6@A%H:,$@%@}E ^RANDOM PLAYER MOVEMENTA<"@&%@R:,<**CREATE "SHADOW"**FL6-%@*F:B2y,}"@66-B6-@L A KQ%2+!96-%@G6-%AQ AP}F(>:A%,.(SCORE  SPEED 2F @@PRF F:,-@,%0 <}F @U @PXY##**CHANGE SHAPES AND EXPLODE**Z 6.6.6._F-@@P36-P:H:,$A}`,%@F6.7<%@,d<2@@+A<6-H:,$@iBF:,&$@ }B2nO!A@@3@E@ O A sm,(>:A%},Š YOUR SCORE M(PRESS START FOR MORE PLAYERSm(PRESS TRIGGER FOR SAME PLAYx:F:B2y,"@$6}-@06-: A@}FT:,"06-@5&+@ $,<6-F A@P"F:@,"@&}$@.6-@:6-@F6-@P A@ A O A#B"+-A$Au/"59 }O A &+@ $,I (}6-6-A'6-3EAdAUI ***INCREASE SPEED*}****K 0F:@ ,@5F:AV,"@8$KSPEED LIMIT OF 4'-AVAu'(F:,A F}:, @ F:,!A AV&K"2F:,@@& H2K$}*+ ***SET SHAPES FOR TITLE***,; 0F:B7p,@&6.,6.26.86.;$>?##***RESET PLAYERS }TO NORMAL***@ 6.6.6.6.$'#(#ӤӠΠś)#*#!!*THESE ARE NECESSARY LINES*+#,#}*FIRST DETERMINE P/M MEM*-#6-F:A,&@0#1#*PLAYER DATA STRINGS*2#<<;@,;@,;@,};@,;A,5#6#**DEFINE PLAYER SHAPES**7#G #A!-@@%"167,.>:,5 GA@@}8###0,127,103,103,103,103,127,127<#=-@@"'67,.>:,+ =AAH=#0,14,28,28,28,12,12,6}2A#=-@@"'67,.>:,+ =AAB#0,127,115,3,127,79,64,127F#=-@@"'67},.>:,+ =A@pG#0,127,79,31,14,103,127,62H#I#""**FOLLOWING LINES OPTIONAL**J#O# *** PAINLES$ }REGISTERS ***P#36-A$6-A('6-A236-ART#*** SYSTEM REGISTERS ***U#?6-B2H6-B2V'6}-B2R36-B2`?6-B2xX#Y#""**ADDITIONAL PLAYER SHAPES**Z#]];@,;@,;@,;@,;}@,;@,;@,;@,_#K-@@"'67,.>:,+ K129,126,90,255,189,195,126,60d#I-@}@"'67,.>:,+ I255,255,189,60,60,60,60,126i#K-@@"'67,.>:,+ K24,60,126,231,23}1,255,231,231n#M-@@"'67,.>:,+ M127,255,255,224,239,231,255,127r#**STORE SHAPE DATA**s# 6.}6.6.6.'נԠРŠ'ĠΠӮқ$'/ #B"!-A$Au%"+/ %}'Ϡӛ&'90,110,130,150''Ϡӛ('20,58,68,78)'Ϡ˛*' 0,0,0,0+'}ϠЯϠԛ,'16,25,25,25-'Ϡ͠ԛ.'88,79,79,79/'ϠԠԛ0'}48,57,57,571'ϠԠԛ2'200,191,191,1913'РŠӛ4' 0,0,0,05'Ϡ}Û6'1,1,1,0,255,255,255,0,0,07'ϠÛ8'1,255,0,0,1,255,0,0,1,2559'B'!!ŠҠˠ}ԛC'!!ǠĠӤt' #B6-u'5 B`6-%@"+67,.>:,5 Bv',,173,28,}4,240,3,76,98,228,216,162,0,189x'++8,4,201,16,144,3,189,120,2,201,15,240z'++74,56,233,5,48,69,168,185,32,4,24,125|'))0,}4,141,78,4,189,12,4,240,13,173,78~'**4,221,20,4,144,11,221,24,4,176,6,173'&&78,4,157,0,4,185,42,4,24,125,4,4'++141,78},4,189,12,4,240,13,173,78,4,221'))12,4,144,11,221,16,4,176,6,173,78,4'---# OF STICKS---*----',,157,4,4,232,224,4,2}08,163,162,0,142,76'))4,189,56,4,133,0,189,60,4,133,1,189'''64,4,133,2,189,68,4,133,3,189,0,4'++157,0,208,188,52,4,1}89,72,4,170,169,0'--141,77,4,145,0,200,202,208,250,174,76,4'''189,4,4,45,79,4,157,52,4,141,78,4'**189,72,4,170,172,7}7,4,177,2,172,78,4'--145,0,238,77,4,238,78,4,202,208,237,238'---# OF PLAYERS----*-----'0076,4,174,76,4,224,4,208,1}64,76,98,228,0,-1''ĠΠР'/ #Bb!-A6AF%"+/ '))216,104,201,11,240,3,76},116,228,104'''104,141,79,4,133,2,240,10,201,128'%%208,240,169,0,133,3,240,4,169,1'''133,3,104,133,1,104,133,0,208,2}22'%%170,240,13,165,0,24,101,2,133,0'$$165,1,101,3,133,1,165,0,157,56'##4,165,1,157,60,4,172,79,4,169'&&0,145,0,1}36,208,251,104,157,68,4'))104,157,64,4,104,104,240,174,157,72'&&4,232,224,4,208,203,142,28,4,206'**79,4,104,170,104,}168,169,7,76,92,228' ̠ӤϠΛ' ҠŠŠΛ'jjX=USR(1536,0,(PMBAS*256)+1024,ADR(P0}$),8,ADR(P1$),8,ADR(P2$),8,ADR(P3$),8,ADR(PAINLES$)):POKE 559,62' ҠŠŠΛ'yg6-?:A6<A(<+$}AV,%A-@@!} B"S68&@$,-W l68@,-@68@,-@6-@ 31,30,26,24,29,27,51,53,486-!}+@4G,($}WHAT FILE DO YOU WANT TO WORK WITH?0GB:, @A%%7@<@,4C:A@!}$$7@<@,0DA +@ )-@?P-A,$@U/$@@Y !}c@u,@/@y@w #A`!-@'"068,-968,-U,$@%@5!}s/$@%@5%8,8,w 110,0,0,1,0,4,0,6,1,0,2,0,1,1,2,2,3,3,2,4,4,8D"@6-$6-T:,!}:"@*"D AH&)T:,")"@26->6-@H A"56-%@!!}@)6-@56-@,T 6-6-R:,%6-%8,$26-%8,$>!AJ6-T A 6 !}6-A@%!@y6-% A@J 6-@yTP ,16-!6--@%!}3,PT:,"@Ap^# @ A# Aph' 6-  Ap,'/%%r8 B"!}F:AS,".6-@8 Ap|i6-F:AT,(!@#* @`I8&@$,!*"@S A@!}] A@i6-9"@G*"@# A@- Ap96-9"@3*"@# A@- A9!}6-%"Ap6-% A@9"@*"@# A@- AP96-9"@b*"@!}# A@- A 96-9"@V*"@# A@- A96-#"@ A@# A 0!}#"@a A@# A @#"@5 A@# A 9"@@*"@# A@- A 96-!} Ap @56-$U6-8+&@5,'@,96-8+&@5,'@,G%!@yU6-@y!}&%!A6-A&$?6-8&@$,?6-+P:'@&?0,,$@%@&'!@6-&!}@' AP0<6-&@'6-$@5%@06-O:,96-O:,<$:"A 6-6-$D"A 6!}-6-$NA-,/)6-%@5!@yA6-@yX( 6-A 6-A %6-($b !}@$l"A 6-6-$v?-#-1%!@y?6-@y&%!@y6-!}@y&%!A6-A&%!A6-A& ,%%/%%,  "#6-A !})6-,$ 6-6-$ @$6-?:A6<,6-$*"@6-'6-A *$6!}-@$%2@`@@G2@AP@@[-@_ 2!}2@$6-"A 6-6-$"A 6-6-!}$ E 6-6-6-O:&,%6-O:&,)E-@?*6-%$G:,6-&$G:,*6-%$E:, !@y!}6-@y* 6-4!@y6-@y> 6-H @6-@!}R!A6-A\"A f"@Ap% ,/,/% A z -,!}/  6-6-6-F @%,%6-A 16-A =6-C6-F$6-@ A`!}f , A P4@@D-Ar9%T*@F:,X c@f$g A P*@!}@:-Ar9%G)@MQ \@d1g$--6-F:@,%AV$F:@,%A@!}36-R:,!6-T:,- @0'3$"@A `$:6-R:,!6-T:,-"!}7 A@:$5"@6-%@)!@56-5"@6-&@) 56-@!!}0@! A 5 #A@!-A6A%"+/ 2#5$##104,104,104,133,209,173,254,6##13!}3,212,173,255,6,133,213,169$ 0,133,231,160,1,165,85,145.$$203,133,233,133,214,165,84,1458$$205,133,234,133,215,132,!}232,32B!!184,6,133,230,197,209,208,1L!!96,32,221,6,177,203,133,214V%%177,205,133,215,230,214,165,214`201,80,176!},8,32,184,6,208j 3,32,164,6,198,214,198,214t""165,214,201,255,240,8,32,184~6,208,3,32,164,6,230,214##230,215,!}165,215,201,192,176,832,184,6,208,3,32,164,6$$198,215,198,215,165,215,201,11144,8,32,184,6,208,3,32 164,!}6,198,232,240,4,200,76!!52,6,164,231,240,95,132,232%%177,212,145,205,177,207,145,203!!136,208,245,160,1,169,0,133!}231,76,52,6,32,221,6,230$$231,240,75,164,231,165,214,145$$207,165,215,145,212,164,235,9632,200,6,169,7,15!}7,66,3""32,86,228,164,235,197,230,96 $$132,235,165,214,133,85,165,215 133,84,162,96,169,0,157,723,157,73,3,!}96,32,200,6( 169,11,157,66,3,165,209,322##86,228,164,235,96,165,234,133<!!84,165,233,133,85,96,32,237F6,104,10!}4,96,0,0,0,0D2:PALETTE.BAS5,209,322##86,228,164,235,96,165,234,133<!!84,165,233,133,85,96,32,237F6,104,10 #2200 DATA 0,5,500,5003200 DATA 0,104200 DATA 12,0,8,5,17,22,5,28,37,5,0,12,10,17,23,10,26,38,10,0,12,15,17,26,15,304201 DA%}TA 38,16,32,38,22,0,15,23,18,26,235200 DATA 5,5,10,9,5,10,32,15,23,6,15,23,27,16,22,366200 DATA 1,18,237200 DATA 4,37,10,0&},15,32,22,0,238200 DATA 2,5,15,15,15,10,2,15,10,15,5,2,15,5,13,10,2,13,10,13,15,2,13,15,158201 DATA 15,2,3,24,10,26,5,2,26,&}5,23,5,2,23,5,24,10,2TA 2,5,15,15,15,10,2,15,10,15,5,2,15,5,13,10,2,13,10,13,15,2,13,15,158201 DATA 15,2,3,24,10,26,5,2,26,$2220 DATA 0,23,500,5003220 DATA 38,54220 DATA 13,0,5,5,15,20,5,32,38,5,27,30,6,1,4,10,4,7,11,18,21,11,29,38,11,74221 DATA *}10,12,0,10,18,18,22,18,28,38,22,0,20,235220 DATA 3,5,11,32,12,18,11,18,23,186220 DATA 1,37,117220 DATA 4,0,5,29,6,0,18,37,*}228220 DATA 2,5,23,18,26,22,2,26,22,27,11,2,27,11,22,11,2,22,11,25,6,2,25,6,238221 DATA 18,2,5,13,5,16,11,2,16,11,14,12,2,1*}4,12,16,11,2,16,11,6,5,2,6,58222 DATA 5,10,27,11,22,11,2,22,11,25,6,2,25,6,238221 DATA 18,2,5,13,5,16,11,2,16,11,14,12,2,1(.n PLDRCLSNUPLODRAWTCL .}aATARI GRAPHICS OVERLAYa(c) 1984 Jeff Brennera&&;@,;A,;@$,a5 #BQp!-@@.}%"167,.>:,5 a+-@A"'67,.>:,+ a+-@@$"'67,.>:,+ a, -C:,-C:. },6-C:,,6-%@!aX6-P:'AV,$6-&$AV>67Aw<Aw,.>:,X67Ax<Ax,.>:,a767A. }<A,.>:,767A<A,.>:,b66F:A,'@2!P:F:A,'@2,BQ b- AF:A,&@. }-+F:@,bE BQ0$6-F:A,$AV56-P:'AV,E6-&$AV bAA$*b`BB. }yF:A,*A<AY@bNB2w@`A#@4b9-B2VB2Y#@' . }9B2`AU>bW-@5B2H%@%$@2SB2R%@r&@$W Hb$RbBB104,104,.}104,201,40,176,71,105,24,133,206,104,104,201,192,176\b>>63,105,32,133,207,166,205,165,206,74,74,74,168,240,7,166fb@@205,2.}30,205,136,208,251,10,10,10,56,229,206,73,255,168,169pb??128,200,240,4,74,136,208,252,164,203,240,7,164,207,17,204zb??56,.}176,6,164,207,73,255,49,204,145,204,134,205,96,104,104b104,104,96bAA104,104,104,48,111,201,40,176,107,105,24,133,97,1.}04,104,201b==0,144,99,201,192,176,95,105,32,133,96,162,0,134,214,134bAA217,232,134,219,134,215,134,216,165,97,56,229,20.}6,176,9,198bAA216,198,216,165,206,56,229,97,133,212,165,96,56,229,207,176bAA9,198,215,198,215,165,207,56,229,96,133,213.},165,212,197,213bDD176,23,166,212,165,213,133,212,138,133,213,165,216,133,214,165bBB215,133,217,169,0,133,216,133,215,1.}65,212,74,133,218,165,212b@@240,67,208,3,104,104,96,165,206,24,101,216,133,206,165,207bCC24,101,217,133,207,230,219,165.},218,24,101,213,133,218,165,212bBB197,218,176,21,165,218,56,229,212,133,218,165,206,24,101,214bAA133,206,165,207,24,101.},215,133,207,165,212,197,219,144,6,32b990,0,56,176,194,165,96,133,207,165,97,133,206,76,0,0c@@104,165,106,133,209,169,0.},133,208,162,16,160,0,145,208,200c$$208,251,230,209,202,208,244,96D2:OVERLAY1.BAS0c@@104,165,106,133,209,169,0,]\3 J CLPLODRAWT DEMONSTRATION 2}PROGRAM +  STAND BY...1 BPAR@1A@( 6-?:,2-A@2}<6-?:<<@,F6-?:<@9<,P6-?:<@9<@,Z6-?:<<,d n%%A2}@$@%@x%%A@$@%@%%A@$@%@%%A@$@2}%@%%A@$@%@0@@/-@@/ Mix colorful graphics52}-@@5 with a screen full of text!7-@@"7 (PRESS START FOR NEXT SCREEN) F:B2y,@2}AM 6-?:, >:A%,30@@ @M0@*-@@* Underline w2}ords.9AA'AA9AA6-?:<@<@H,6-?:<@<@H,*-2 }@$@* Highlight words.'AA6'AA6-@"6-?:<@$<AD%2!},,6-?:<@9<AD%,6 @7-@@"7 (PRESS START FOR NEXT SCREEN)J"F:B2y,@" A02"}TM 6-?:, >:A%,30@M0@@^ Create colorful graphs.h]A2#}@p'AA9AA4KAAf]AAr70@@70@2$}|-@2@O-@@,6-?:<%<Au,K6-?:<%<A(&$@,O  2%}>-@@!> $1980 1981 1982 1983 1984K-@ S--@ 3 AE-2&}@K L3-@ E--@3 S8-@@#8 (PRESS START FOR NEXT SCREEN)"2'}F:B2y,@" AP 6-?:, >:A%,8-@@8 PRODUCE DYNAMIC VIDEO DISPLAYS/-@2(}@#/ (PRESS START TO END)mA@f'A@TIA@$@%@[A@Tm2)}A@f56-?:<@<@,56-?:<@5<@,56-?:<@5<A,56-?:<@<A,2*}(6-?:<@<@,(6-@M-@9@86-?:<@<@,M6-?:<<$@,96-?:2+}<@5<@,96-?:<@9&<$@,& F:B2y,"@A0A6-?:<@5<A,A6-?:<@9&<2,}A&$@,:96-?:<@<A,96-?:<<A&$@,D+ 6-"!A+ A0N2-}D2:OVERLAY2.BAS6-?:<@<A,96-?:<<A&$@,D+ 6-"!A+ A0N00100 ; ATARI GRAPHICS OVERLAY0110 ; PLOTTING ROUTINE0120 ; (C) 1984 JEFF BRENNER0130 ;0140 ; FORM: A=USR(PLOT,X,Y)0150 ;6/}0160 COLOR = $CB0170 LOW = $CC0180 HIGH = $CD0190 X = $CE0200 Y = $CF0210 ;0220 *= $0600 ;RELOCATABL60}E0230 ;0240 PLOT PLA 0250 PLA 0260 PLA 0270 CMP #40 ;HORIZ POS>39 OR <00280 BCS RET10290 ADC #61}240300 STA X0310 PLA 0320 PLA 0330 CMP #192 ;VERT POS>191 OR <00340 BCS RET20350 ADC #3203662}0 STA Y0370 LDX HIGH0380 LDA X0390 LSR A ;DIVIDE BY EIGHT0400 LSR A0410 LSR A0420 TAY63} 0430 BEQ OVER0440 LDX HIGH0450 LOOP INC HIGH ;INC HIGH BYTE0460 DEY 0470 BNE LOOP0480 OVER ASL A 64} ;FIND REMAINDER0490 ASL A0500 ASL A0510 SEC 0520 SBC X0530 EOR #2550540 TAY 0550 LDA #1265}8 ;FIND CORRECT BIT PATTERN0560 INY 0570 BEQ NEXT0580 LOOP1 LSR A0590 DEY 0600 BNE LOOP10610 NEXT LD66}Y COLOR ;COLOR=1 TO PLOT0620 BEQ ERASE ;IF 0 - ERASE PIXEL0630 LDY Y ;OFFSET FOR VERT POS0640 ORA (LO67}W),Y ;MERGE BIT PATTERN0650 SEC 0660 BCS CONT0670 ERASE LDY Y0680 EOR #2550690 AND (LOW),Y0700 CONT STA68} (LOW),Y ;SUBTRACT BIT PATTERN0710 RETURN STX HIGH ;FROM CURRENT TO ERASE0720 RTS 0730 RET1 PLA 0740 PLA 0750 RE69}T2 PLA 0760 PLA 0770 RTS ;RETURN TO BASIC0780 .END 0720 RTS 0730 RET1 PLA 0740 PLA 0750 RE4K0100 ; DRAWTO ROUTINE BY JEFF BRENNER0110 ;0120 ; BASED ON DDA BASIC ALGORITHM0130 ; DETAILED BY MIKE HIGGINS,0140 ; "FAS:;}T LINE-DRAWING TECHNIQUE,"0150 ; BYTE MAGAZINE, (AUGUST 1981),0160 ; pp. 414-4160170 ;0180 ; FORM: A=USR(DRAWTO,X,Y)0190:<} ;0200 DELTAX = $D40210 DELTAY = $D50220 ADDX2 = $D60230 ADDY2 = $D70240 ADDX = $D80250 ADDY = $D90260 SLOPECALC = $:=}DA0270 COUNT = $DB0280 OLDX = $CE0290 OLDY = $CF0300 DRAWTOX = 970310 DRAWTOY = 960320 ;0330 *= $0600 ;RELOCA:>}TABLE0340 ;0350 DRAWTO PLA 0360 PLA 0370 PLA 0380 BMI RET10390 CMP #40 ;HORIZ POS>39 OR <0?0400 :?} BCS RET10410 ADC #240420 STA DRAWTOX ;X TO DRAW TO0430 PLA 0440 PLA 0450 CMP #00460 BCC RET2:@}0470 CMP #192 ;VERT POS>191 OR <0?0480 BCS RET20490 ADC #320500 STA DRAWTOY ;Y TO DRAW TO0510 LDX :A}#00520 STX ADDX20530 STX ADDY0540 INX 0550 STX COUNT0560 STX ADDY20570 STX ADDX0580 LDA DR:B}AWTOX0590 SEC 0600 SBC OLDX ;DRAWTOX-OLDX0610 BCS SKIP10620 DEC ADDX0630 DEC ADDX0640 LDA OL:C}DX0650 SEC 0660 SBC DRAWTOX0670 SKIP1 STA DELTAX0680 LDA DRAWTOY0690 SEC 0700 SBC OLDY ;DRAWTOY-:D}OLDY0710 BCS SKIP20720 DEC ADDY20730 DEC ADDY20740 LDA OLDY0750 SEC 0760 SBC DRAWTOY0770 SKIP2:E} STA DELTAY0780 LDA DELTAX0790 CMP DELTAY0800 BCS SKIP30810 LDX DELTAX ;DELTAXDELTAX? DONE:N}1320 BCC RETURN1330 JSR $FFFF ;REPLACED WITH PLOT ADDR1340 SEC 1350 BCS MAIN1360 RETURN LDA DRAWTOY13:O}70 STA OLDY ;PLOT LAST POINT1380 LDA DRAWTOX1390 STA OLDX1400 JMP $FFFF ;PLOT ROUTINE1410 .END 8}0100 ; CLS ROUTINE, BY JEFF BRENNER0110 ; FORM: A=USR(CLS)0120 ;0130 *= $0600 ;RELOCATABLE0140 ;0150 CLS PLA 016>Q}0 LDA 106 ;P/M AREA HI BYTE0170 STA $D10180 LDA #0 ;LOW BYTE = 00190 STA $D00200 LDX #16 >R} ;DO 16 PAGES0210 LOOP2 LDY #00220 LOOP1 STA ($D0),Y0230 INY 0240 BNE LOOP10250 INC $D10260 DEX 0270 >S} BNE LOOP20280 RTS 0290 .END STA ($D0),Y0230 INY 0240 BNE LOOP10250 INC $D10260 DEX 0270 <*; puLse - joeL gLuck - anaLogBYTE ARRAY x(192),y(192),c(192)BYTE num=[10]INT ARRAY xd(192)CARD ARRAY linept(192)PROCBU} pauz(CARD n)CARD i FOR i=0 TO n*2 DO ODRETURNPROC intro()BYTE iGraphics(0) Poke(710,0) Poke(752,1) Print(BV}" ")pauz(30000)Position(17,9) Print("puLse") pauz(30000)Position(13,11) Print("by joeL gLuck") pauz(30000)Position(9,13BW}) Print("from ANALOG COMPUTING") pauz(60000) FOR i=0 TO 15 DO Poke(709,15-i) pauz(2000) ODRETURNPROC gr10init(BX}) CARD scrn,line,reg,c,l Graphics(10) Poke(704,0) FOR reg = 0 TO 7 DO c=Rand(16) l = Rand(9)+4 Poke(regBY}+705,c*16+l) OD scrn = Peek(88) scrn ==+ Peek(89) * 256 FOR line = 0 TO 191 DO linept(line) = scrn + (BZ}40*line) ODRETURNPROC plot10(BYTE x,y,col) BYTE POINTER pixel BYTE ARRAY colfil = [0 17 34 51 68 85 102 119B[} 136 0 0 0 0 0 0 0], mask = [15 240], mask2 = [240 15] pixel = linept(y) + (x RSB\}H 1) pixel^ = pixel^ & mask(x & 1) % (colfil(col) & mask2(x & 1))RETURNBYTE FUNC locate10(BYB]}TE x,y) BYTE POINTER pixel BYTE ARRAY mask = [240 15] pixel = linept(y) + (x RSH 1)RETURN((pixel^ & mask(x & 1)) B^}RSH ( ((x & 1) XOR 1) LSH 2)) PROC drawline(BYTE a,b,c)BYTE i FOR i = a TO 79-a DO plot10(i,b,c) plotB_}10(i,191-b,c) ODRETURN PROC init()BYTE i,j,s gr10init() FOR i=0 TO num-1 DO x(i) = Rand(40) DO B`} y(i) = Rand(96) s = 0 IF i=0 THEN EXIT FI FOR j=0 TO i-1 DO IF y(i)=y(j) THEN s=1 EXIT FI Ba} OD UNTIL s=0 OD c(i) = (i MOD 8) +1 drawline(x(i),y(i),c(i)) xd(i) = (Rand(2)*2-1) * Bb} (Rand(3)+1) ODRETURNPROC squeeze(BYTE n)BYTE a,iINT dd=xd(n) IF d<0 THEN d=-1 ELSE d=1 FIFOR i = 1 TO (xd(n)/Bc}d)DO a = x(n)+d IF a<0 OR a>39 THEN xd(n) = -xd(n) EXIT FI IF d>0 THEN plot10(x(n),y(n),0) pBd}lot10(79-x(n),y(n),0) plot10(x(n),191-y(n),0) plot10(79-x(n),191-y(n),0) ELSE ; to preserve timing: plBe}ot10(x(n),y(n),c(n)) plot10(79-x(n),y(n),c(n)) plot10(x(n),191-y(n),c(n)) plot10(79-x(n),191-y(n),c(n))Bf} FI x(n)=a plot10(x(n),y(n),c(n)) plot10(79-x(n),y(n),c(n)) plot10(x(n),191-y(n),c(n)) plot10(79-x(n),191-y(n),c(Bg}n))ODRETURN PROC puLse()BYTE i,CH=764,AT=77,MS=19,LS=20 intro() DO num = Rand(6)+5 init() CH=255 AT=77 Bh}LS=0 MS=0 DO FOR i=0 TO num-1 DO squeeze(i) OD UNTIL CH<>255 OR MS=4 OD UNTIL CH=12Bi} OD CH=255 Graphics(0)RETURNum-1 DO squeeze(i) OD UNTIL CH<>255 OR MS=4 OD UNTIL CH=12@$ LOONHIN3N3N3N3NN1N4NUKWIFUEN3N3MAPLEVEMAMPOWPOWBARBARCRASN3LN3SHOHYPESCORFk}SHIPN4SHILOSDCHSENUSE Fl} @Fm} !"#$%&'()*Fn}+,-. Ԡ by C.Kormos G BA@h1A @$CAFo}AHG -&@617   ,,! %-,&7 @(F',2@d&+",$@Fp}%+",$08,%F"@2 ,"*"' <!@F6-%@!6-P-Fq}@, Z* 26-&?0'@w*$" #8,6-%"" A &$9 ,/Fr}"6-P:&,'%&.,&6/%9$' "6-%"@#6-' C6-?:<Ap<,#6-?:<<,66-?:<Fs}A<,C6-?:<<,C ,6-&?32A'@?@C 2 -(>:AW, ,&/Ft},,2/2F:B7p, !6-P:&,'%%2,%H:,$ 1& ? ,?6-%+R:,"@* @Fu}8,&+R:,"@*!, ,(T:, R:,"@ "@ -(6-%)6-?:<<Ap,<6-?:<<Fv}A,@  6-6-Q -(>:AW,7<,%6-%-6-%9!AE6-AQ6-A%+ ,6-Fw}&?'@+  1& I ,?6-%+R:,"@* @8,&+R:,"@*!,CI,%Fx} ,/@!(T:,% * @C ,@%N:&,* AXg-A@/2A!@?2Fy}@W2AU&@cAg bS 22!2-A@6-?:<<Ap,S6-?:Fz}<<A,l! -( 6-& ! vV-A #-@$)-6(>:AW,: D#BJ6-P6-F{}V6-A -(***#-@),- =2AA ?-A@6*2@?AF:F|}B7p,' "6-%"@#6-' 8 ,6-&?0!-.(>:AW,28,2 /,/F}} #2/A2$  WIN*&-@ &AF:B7p,4I-AU@ )2@A2%@F~}@E I >P-@(-@6?P00@2@ H0L P HYA!A F}@$3A@hEAAHO2Y2R4 -4(&Πġ\D 6F}-&6-%@%#Bp%3-@H7"@68,-D f36-?:<<Ap,)6-?:<<A,3 A  LOSEF}8 -2("̠ӠĠ SCORE: 86-+AU- +(T:,A P+AU@-F}! + A 5 -5('ROBOTS SENSORS ENERGY SCORE: 3 -( $ $ $ *** )6-@3 A0' F}AF:A,&@$+6AR@BAO9@H,[6-@g6-@#s6-A6-@ 6F}-AP'6-@6-@'6-@236-@3?6-@4K6-@5W6-@6c6-@7o6-@8{6-F}@96-@@6-@D$'%6-F:A`,%F:Aa,$AV<6-F:A,$AVB6-N6-@Z6-Af6-F}Ar6-A~6-A 6-@.'f%@@#-@2( ROBOT RAIDD-@0@Y(by CharleF}yKormosf;A%,8'(-A#$%F:BsD%,( B'W6-%@-@-( ?-@0@WF}( L'Q6-%@$6-%A-6-%A36-A-AE"M%Q V'Q-%@%@F}('@+ ?AV'AVQAAHj'C6-A6-A`!"'+ 76-@)C6-@%F}t',-@H"68,-" ,#B~'/ -/(!ROBOTS SENSORS ENERGY SCORE:'? -( $ $ $ *** #6F}-'5-@;,? '% 6. 67A%,. %67,.';67@,. * * * *;67@H,. *** **F}*'A67@,. * *A67A,.********* ********'OO67AI,.<********** ********* ***********F}********************'WW67A,.D+++)+)+)+)+)+)+)+)+)+)+)+)+)+)+)+++ *******************************'K'67A,.F}********************K67A$,.********** *********'=67Ad,. ,, ,,=67A,.,,,,,,,,,,,,,,,'9$6F}7A1,.,(((((((((((((((,967Ar,.,,,,,'367A%,. 06-P:H:,$@,%@3$ZJ0,0,0,255,255,0,0,F}0[J%%170,170,130,130,130,130,170,170\J 20,85,85,20,20,130,130,130]J27,27,27,27,27,27,27,27^J%%170,195,195,195,195,F}195,195,195_J##175,245,95,250,175,245,90,250`J!!85,85,170,175,175,170,85,85aJ!!170,170,85,95,95,85,170,170bJ%%255,255F},255,255,255,255,255,255cJ%%170,170,170,170,170,170,170,170dJ85,85,85,85,85,85,85,85eJ85,85,0,255,255,0,85,85fJF}0,0,60,60,60,60,0,0sJdd104,104,133,204,104,133,203,104,133,207,104,133,206,160,0,177,206,145,203,200,192,8,208,247,96tJ__F}20040,20050,20100,20150,20160,20110,20030,20120,20130,20080,20100,20110,20060,20120,20130~Jkk20070,20140,20090,20010,20020,F}20040,20170,20180,20190,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0Jkk20040,20010,20050,20030,20070,20100,20110,20120,F}20130,20160,20150,20140,20090,20080,20040,20060,20020Jkk20010,20100,20150,20050,20060,20100,20110,20120,20130,20080,20070,F}20080,20120,20090,20100,20110,20170J))20180,20190,0,0,0,0,0,0,0,0,0,0,0,0Jee20170,20180,20190,20000,20010,20050,20010,2F}0050,20030,20070,20030,20070,20100,20110,20120,20090Jee20100,20150,20140,20130,20080,20070,20060,20050,20040,20030,20020,2F}0010,20170,20000,20040,20080Jee20010,20100,20150,20100,20110,20120,20130,20120,20130,20160,20110,20040,20170,20180,20190,2F}0190 NGG4,32,5,31,6,30,7,29,8,28,9,27,10,26,11,25,12,24,13,23,14,22,14,22*NFF14,22,14,22,11,24,8,22,5,20,3,18,3,16,3,15,5F},16,8,18,11,20,14,224NHH14,22,5,23,6,24,7,25,8,26,9,27,10,28,11,29,12,30,13,31,14,22,14,22>NMM14,22,14,22,13,23,12,24,12,F}24,14,22,14,22,10,18,11,19,12,20,13,21,14,22HNGG14,22,14,22,8,28,8,28,8,28,8,28,5,31,5,31,11,25,12,24,13,23,14,22RNFF14,2F}2,11,20,8,18,5,16,3,15,3,16,3,18,5,20,8,22,11,24,14,22,14,22\NHH14,22,14,22,13,31,12,30,11,29,10,28,9,27,8,26,7,25,6,24,5,2F}3,14,22fNGG14,22,13,21,12,20,11,19,10,18,14,22,14,22,12,24,12,24,13,23,14,22pNGG14,22,13,23,12,24,11,25,5,31,5,31,8,28,8,F}21,8,21,8,21,14,22,14,22zNEE3,12,3,12,4,13,5,14,6,15,7,16,8,17,9,18,10,19,11,20,12,21,13,22NMM14,23,15,24,16,25,17,26,18F},27,19,28,20,29,21,30,22,31,23,32,24,33,24,33NMM24,33,24,33,23,32,22,31,21,30,20,29,19,28,18,27,17,26,16,25,15,24,14,23NF}EE13,22,12,21,11,20,10,19,9,18,8,17,7,16,6,15,5,14,4,13,3,12,3,12NBB3,12,3,12,3,13,3,14,3,15,3,16,3,17,3,18,3,19,3,20,3,2F}1,14,22NBB14,22,3,21,3,20,3,19,3,18,3,17,3,16,3,15,3,14,3,13,3,12,3,12NMM24,33,24,33,22,33,21,33,20,33,19,33,18,33,17,3F}3,16,33,15,33,14,33,14,22NMM14,22,14,33,15,33,16,33,17,33,18,33,19,33,20,33,21,33,22,33,24,33,24,33NFF14,22,13,23,12,24F},11,25,10,26,9,27,8,28,7,29,6,30,5,31,4,32,3,33NAA3,33,3,33,3,33,3,33,3,33,3,33,3,33,3,33,3,33,3,33,3,33,3,33NAA3,33,3,F}33,3,33,3,33,3,33,3,33,3,33,3,33,3,33,3,33,3,33,3,33D2:ROBRAID.BAS33,3,33,3,33,3,33,3,33,3,33,3,33,3,33NAA3,33,3,DK10 RESLO = $D420 RESHI = $D530 *= $06000100 CLD ;DECIMAL MODE!0110 PLA ;DISCARD J}# ARGS0120 PLA ;PULL ARG 1 HI0130 STA ARG1H ;AND SAVE IT0140 PLA ;PULL ARG 1 LO0150 SJ}TA ARG1L ;AND SAVE IT0160 PLA ;PULL ARG 2 HI0170 STA ARG2H ;AND SAVE IT0180 PLA ;PULL ARG 2 J}LO0190 STA ARG2L ;AND SAVE IT0200 LDA ARG1L ;ADD...0210 CLC ;ARGUMENT 1...0220 ADC ARG2L ;TJ}O...0230 STA TEMPL ;ARGUMENT 2...0240 LDA ARG1H ;AND...0250 ADC ARG2H ;PLACE IT...0260 STA TEMPM J};IN TEMP!0270 LDA #00280 ADC #00290 STA TEMPH0300 LSR TEMPH ;DIVIDE...0310 ROR TEMPM ;ARG1J} + ARG2...0320 ROR TEMPL ;BY 20330 LDA TEMPL ;AND PUT...0340 STA RESLO ;FINAL RESULT...0350 LDA TJ}EMPM ;IN BASIC'S...0360 STA RESHI ;ANSWER AREA!0370 RTS ;ALL DONE!0380 ARG1L *=*+1 ;ARGUMENT 10390 J}ARG1H *=*+10400 ARG2L *=*+1 ;ARGUMENT 20410 ARG2H *=*+10420 TEMPL *=*+1 ;TEMPORARY HOLD0430 TEMPM *=*+10440 TEMPJ}H *=*+10450 .END=*+1 ;ARGUMENT 20410 ARG2H *=*+10420 TEMPL *=*+1 ;TEMPORARY HOLD0430 TEMPM *=*+10440 TEMPH  4VALVAL %-A6A"!% -(ENTER VALUE1, VN}ALUE2' @ -6-?:A6<<,( 2 @ <VV216,104,104,141,65,6,104,141,64,6,104,141,67,6,104,141,N}66,6,173,64,6,24,109,66,6FOO141,68,6,173,65,6,109,67,6,141,69,6,169,0,105,0,141,70,6,78,70,6,110,69,6P33110,68,6,173,68N},6,133,212,173,69,6,133,213,96 D2:BOOT2.BAS9,67,6,141,69,6,169,0,105,0,141,70,6,78,70,6,110,69,6P33110,68,6,173,68L310 RESLO = $D420 RESHI = $D530 *= $06000100 CLD ;DECIMAL MODE!0110 PLA ;DISCARD R}# ARGS0120 PLA ;PULL ARG 1 HI0130 STA ARG1H ;AND SAVE IT0140 PLA ;PULL ARG 1 LO0150 SR}TA ARG1L ;AND SAVE IT0160 PLA ;PULL ARG 2 HI0170 STA RESHI ;SAVE IT0180 PLA ;PULL ARG 2 LO0R}190 CLC ;ADD IT TO0200 ADC ARG1L ;ARG 1 LO0210 STA RESLO ;STORE ANSWER0220 LDA RESHI ;GET ARR}G2 HI0230 ADC ARG1H ;ADD TO ARG 1 HI0240 STA RESHI ;STORE ANSWER0250 ROR RESHI ;DIVIDE...0260 RORR} RESLO ;RESULT BY 20270 RTS ;AND EXIT!0280 ARG1L *=*+1 ;ARGUMENT 10290 ARG1H *=*+10300 .END RORPv  4,@VALVAL %-A6Ag"!% -(ENTER VALUE1, VV}ALUE2' @ -6-?:A6<<,( 2 @ <\\216,104,104,141,33,6,104,141,32,6,104,133,213,104,24,10V}9,32,6,133,212,165,213,109,33,6F 133,213,102,213,102,212,96 D2:BOOT6.BAS1,33,6,104,141,32,6,104,133,213,104,24,10TT6NUMBERESULTESSQAD '6-@6-@'6-@% !6Z}-&@(% @(16-%@6-%'6-%@1 @0 D2:BOOT8.BAS@'6-@% !6X_10 RESLO = $D420 RESHI = $D530 *= $06000100 CLD ;DECIMAL MODE!0110 PLA ;DISCARD # A^}RGS0120 PLA ;DISCARD ARG HI0130 PLA ;PULL ARG LO0140 STA NUMBER ;AND SAVE IT0150 LDA #1^} ;PUT 1 IN...0160 STA RESLO ;RESULT,0170 STA TESTL ;TEST VALUE,0180 STA SQADD ;SQRT ADD FIELD0190 ^} LDA #0 ;ZERO OUT...0200 STA RESHI ;RESULT HI BYTE0210 STA TESTH ;AND TEST HI0220 SQLP LDA TESTH ;IF T^}ESTH > 0,0230 BNE END ;WE'RE DONE!0240 LDA NUMBER ;GET NUMBER,0250 CMP TESTL ;< TEST?0260 BCS NOS^}Q ;NO, KEEP TRYING0270 END DEC RESLO ;SUB 1 FROM ANS.0280 RTS ;AND EXIT!0290 NOSQ INC SQADD ;SQADD =0300^} INC SQADD ;SQADD + 20310 LDA TESTL ;GET TEST VALUE,0320 CLC ;ADD THE0330 ADC SQADD ;ADD FAC^}TOR0340 STA TESTL ;AND STORE IT0350 LDA TESTH ;NOW HI BYTE0360 ADC #00370 STA TESTH0380 INC R^}ESLO ;INC RESULT0390 JMP SQLP ;AND LOOP BACK!0400 NUMBER *=*+10410 TESTL *=*+10420 TESTH *=*+10430 SQADD *=*+^}10440 .END390 JMP SQLP ;AND LOOP BACK!0400 NUMBER *=*+10410 TESTL *=*+10420 TESTH *=*+10430 SQADD *=*+\ )VALU %-A6A"!% "( ENTER VALUE @ "b}6-?:A6<,( 2 @ <YY216,104,104,104,141,69,6,169,1,133,212,141,70,6,141,72,6,169,0,133,213,141,71,6b},173FQQ71,6,208,8,173,69,6,205,70,6,176,3,198,212,96,238,72,6,238,72,6,173,70,6,24P??109,72,6,141,70,6,173,71,6,105,0,1b}41,71,6,230,212,76,24,6 D2:BOOT10.BAS198,212,96,238,72,6,238,72,6,173,70,6,24P??109,72,6,141,70,6,173,71,6,105,0,1`-10 RESLO = $D420 RESHI = $D530 *= $06000100 CLD ;DECIMAL MODE!0110 PLA ;GET # f}ARGS0120 STA ARGCT ;AND SAVE IT0130 LDA #0 ;ZERO OUT...0140 STA RESLO ;RESULT AREA0150 STA f}RESHI0160 ARGLP PLA ;GET ARG HI0170 STA ARGHI ;SAVE IT0180 PLA ;GET ARG LO0190 CLC f} ;AND ADD...0200 ADC RESLO ;TO TOTAL,0210 STA RESLO ;STORE NEW TOTAL0220 LDA ARGHI ;GET HI BYTE0230d}